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.
packageorg.apache.poi.xslf.usermodel;importGUI.Principal;importjava.awt.Color;importjava.awt.Dimension;importjava.awt.Graphics2D;importjava.awt.geom.Rectangle2D;importjava.awt.image.BufferedImage;importorg.apache.poi.hslf.HSLFSlideShow;importorg.apache.poi.hslf.model.Slide;importorg.apache.poi.hslf.usermodel.SlideShow;importjava.io.*;importjavax.swing.JOptionPane;publicclassExportarEmImagens{publicExportarEmImagens(){}publicvoidexportar(StringendArquivo){try{Principalp=newPrincipal();FileInputStreamis=newFileInputStream(endArquivo);//FileInputStream is = new FileInputStream("slide/slideshow.ppt");SlideShowppt=newSlideShow(is);is.close();Dimensionpgsize=ppt.getPageSize();Slide[]slide=ppt.getSlides();for(inti=0;i<slide.length;i++){BufferedImageimg=newBufferedImage(pgsize.width,pgsize.height,BufferedImage.TYPE_INT_RGB);Graphics2Dgraphics=img.createGraphics();//clear the drawing areagraphics.setPaint(Color.white);graphics.fill(newRectangle2D.Float(0,0,pgsize.width,pgsize.height));//renderslide[i].draw(graphics);//save the outputFileOutputStreamout=newFileOutputStream("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(Exceptione){JOptionPane.showMessageDialog(null,"Importe apenas arquivos nos formatos .ppt ou .pptx");}}//public static void main(String[] args) {//}}