Converter PPT em JPeg e Jpeg em SWF

4 respostas
danielbussade
Olá, alguem sabe como converter um arquivo PPT do power point em JPEG, ou GIF usando alguma biblioteca do Java, sei que existem programas que fazem isso, mas não posso usar o programa tem que ser dentro do meu código. Qualquer sugestão é bem vinda!

Obrigado!

Att

4 Respostas

P

Veja essa http://poi.apache.org/ é bem falada !!!

pablofaria

Com essa api, eu consigo manipular meus ppt’s, porem não consigo converter um slide em uma imagem…

Alguém já fez isso com java??

pablofaria

alguém???

rodrigomuribec

Essa classe converte!

Obs: utilizando as bibliotecas do apache poi!

Essa classe recebe como parâmetro o endereço do ppt.

package org.apache.poi.xslf.usermodel;

import GUI.Principal;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics2D;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;
import org.apache.poi.hslf.HSLFSlideShow;
import org.apache.poi.hslf.model.Slide;
import org.apache.poi.hslf.usermodel.SlideShow;
import java.io.*;
import javax.swing.JOptionPane;

public class ExportarEmImagens {
    
    public ExportarEmImagens(){
        
    }
    
    
    public void exportar( String endArquivo){
          try {
            
            Principal p = new Principal();
            FileInputStream is = new FileInputStream(endArquivo);
            //FileInputStream is = new FileInputStream("slide/slideshow.ppt");
            SlideShow ppt = new SlideShow(is);
            is.close();

            Dimension pgsize = ppt.getPageSize();

            Slide[] slide = ppt.getSlides();
            for (int i = 0; i < slide.length; i++) {

                BufferedImage img = new BufferedImage(pgsize.width, pgsize.height, BufferedImage.TYPE_INT_RGB);
                Graphics2D graphics = img.createGraphics();
                //clear the drawing area
                graphics.setPaint(Color.white);
                graphics.fill(new Rectangle2D.Float(0, 0, pgsize.width, pgsize.height));

                //render
                slide[i].draw(graphics);

                //save the output
                FileOutputStream out = new FileOutputStream("slide/slide-" + (i + 1) + ".png");
                javax.imageio.ImageIO.write(img, "png", out);
                out.close();
                System.out.println("Imagem :"+i);
            }
                System.out.println("Concluído: Imagens geradas");

        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, "Importe apenas arquivos nos formatos .ppt ou .pptx");
        }
        
    
    }
    
    //public static void main(String[] args) {
    //}
}
Criado 15 de abril de 2008
Ultima resposta 31 de jan. de 2012
Respostas 4
Participantes 4