2
通過遵循http://poi.apache.org/slideshow/how-to-shapes.html提供的示例,我得到了轉換工作。使用Apache POI進行PPT到PNG的轉換
FileInputStream is = new FileInputStream("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();
graphics.setPaint(Color.white);
graphics.fill(new Rectangle2D.Float(0, 0, pgsize.width, pgsize.height));
slide[i].draw(graphics);
FileOutputStream out = new FileOutputStream("slide-" + (i+1) + ".png");
javax.imageio.ImageIO.write(img, "png", out);
out.close();
}
但是所生成的圖像是非常小的。 如何增加圖像輸出的大小?
爲什麼不用'pgsize.width'和'pgsize.height'乘以合適的乘數? – Gagravarr 2012-08-03 21:07:07
我試過了,只是把圖片放大了,而不是內容。 – ztripez 2012-11-08 13:33:54