使用apache

时间:2016-02-29 08:40:22

标签: java powerpoint bufferedimage

我正在尝试将power point图像读入java,以便在用户窗体上显示。

尝试将整张幻灯片导出为图片。我需要访问已插入幻灯片的图像。

我已经尝试了以下代码,我觉得我非常接近,但ImageIO.read返回null。

public BufferedImage getImage2() {
    java.io.InputStream fin = null;
    try {
        PackageRelationship packRel = mySlide.getPackagePart().getRelationship(myName);
        PackagePart part = packRel.getSource();
        fin = part.getInputStream();
        BufferedImage imBuff = ImageIO.read(fin);
        return imBuff;
    } catch (IOException ex) {
        Exceptions.printStackTrace(ex);
    } finally {
        try {
            fin.close();
        } catch (IOException ex) {
            Exceptions.printStackTrace(ex);
        }
    }
    return null;
}

如果有人有任何尝试这样做的经验,将不胜感激。谢谢

1 个答案:

答案 0 :(得分:1)

尝试这样的事情:

for(XSLFShape shape : mySlide){
    if (shape instanceof XSLFPictureShape){
        XSLFPictureShape pShape = (XSLFPictureShape)shape;
        XSLFPictureData pData = pShape.getPictureData();
        InputStream pIs = pData.getInputStream();
        // ...
    }
}

xslf data extraction example

中的更多详细信息