3
你好我试图使用Apache POI框架,以一个百分点的每一张幻灯片转换为个人PNG。问题是有些幻灯片变形了。例如,有一张幻灯片背景的彩虹色。这是对一些幻灯片图像不显示在所有的.png文件转换的PPT PNG的Apache POI
这里是代码:
FileInputStream is = new FileInputStream(args[0]);
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("C:\\Users\\Farzad\\Desktop\\slide-" + (i+1) + ".png");
javax.imageio.ImageIO.write(img, "png", out);
out.close();
}
难道是改变'BufferedImage.TYPE_INT_RGB'提高质量? – Wivani 2011-05-27 08:26:49
您尝试使用哪种版本的POI? PPT渲染的那种得到随着时间的推移改善的事情,所以如果你还没有尝试最新版本,那么它的价值升级 – Gagravarr 2011-09-02 17:33:51
将任何身体告诉我哪个罐子被包括到运行上面的代码。因为我没有获得Dimension,Graphics2D类.. – Panache 2012-07-10 11:53:14