有没有人有Apache的POI的例子转换PPTX格式PNG [英] Does anyone have an example of Apache POI converting PPTX to PNG

查看:178
本文介绍了有没有人有Apache的POI的例子转换PPTX格式PNG的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有谁知道一个PPTX PowerPoint演示presentation转换成某种形式的形象的一个很好的例子吗? PNG / GIF /等?

Does anyone know of a good example of converting a PPTX powerpoint presentation to some form of image? PNG/GIF/etc?

我能做到这一点的PPT,但寻找一个PPTX转换示例

I can do it for a PPT but looking for a PPTX conversion example

感谢

推荐答案

在此期间它的工作原理(从... <复印它href=\"http://stackoverflow.com/questions/11799972/ppt-to-png-convesion-with-apache-poi\">there):

In the meantime it works (... copied it from there):

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics2D;
import java.awt.geom.AffineTransform;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;
import java.io.FileInputStream;
import java.io.FileOutputStream;

import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;

public class PptToPng {
    public static void main(String[] args) throws Exception {
        FileInputStream is = new FileInputStream("example.pptx");
        XMLSlideShow ppt = new XMLSlideShow(is);
        is.close();

        double zoom = 2; // magnify it by 2
        AffineTransform at = new AffineTransform();
        at.setToScale(zoom, zoom);

        Dimension pgsize = ppt.getPageSize();

        XSLFSlide[] slide = ppt.getSlides();
        for (int i = 0; i < slide.length; i++) {
            BufferedImage img = new BufferedImage((int)Math.ceil(pgsize.width*zoom), (int)Math.ceil(pgsize.height*zoom), BufferedImage.TYPE_INT_RGB);
            Graphics2D graphics = img.createGraphics();
            graphics.setTransform(at);

            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();
        }
    }
}

这篇关于有没有人有Apache的POI的例子转换PPTX格式PNG的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆