使用 apache 将 powerpoint 图像读取到 bufferedImage

Reading a powerpoint image to a bufferedImage using apache

我正在尝试将 powerpoint 图片读入 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;
}

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

尝试这样的事情:

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

xslf data extraction example 中有更多详细信息。