将PowerPoint幻灯片导出到java.awt.Graphics2D

将PowerPoint幻灯片导出到java.awt.Graphics2D,java,apache,apache-poi,Java,Apache,Apache Poi,我开始测试将ppt文档转换为jpeg或png图像。我使用java进行测试。 按照apache web:上的说明和代码进行操作: FileInputStream is = new FileInputStream("slideshow.ppt"); SlideShow ppt = new SlideShow(is); is.close(); Dimension pgsize = ppt.getPageSize(); Slide[]

我开始测试将ppt文档转换为jpeg或png图像。我使用java进行测试。 按照apache web:上的说明和代码进行操作:

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();
            //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-"  + (i+1) + ".png");
            javax.imageio.ImageIO.write(img, "png", out);
            out.close();
        }

在ppt文档中,我只需键入hello world,然后运行java程序,并成功生成png图像。但是我用ACDsee软件打开图像来查看图像,但是helloworld没有出现在png图像中。怎么了?这里有人能给我一些建议吗?你也可以自己测试看看结果,如果你得到了相同的结果,请告诉我。

看来你根本没有对你的BuffereImage做任何事情。您只需用白色填充图像并将其保存到文件中。

flafla2:您可以按照apache web上的说明进行测试:,请告诉我您的结果。