Java 从png PDXObjectImage获取BuffereImage

Java 从png PDXObjectImage获取BuffereImage,java,bufferedimage,pdfbox,Java,Bufferedimage,Pdfbox,我正在尝试从PDXObjectImage获取具有png后缀的BuffereImage,后缀为: PDResources pdResources = pdPage.getResources(); Map<String, PDXObject> xobjects = (Map<String, PDXObject>) pdResources.getXObjects(); if (xobjects != null) { for (String key : xobjects.

我正在尝试从PDXObjectImage获取具有png后缀的BuffereImage,后缀为:

PDResources pdResources = pdPage.getResources();
Map<String, PDXObject> xobjects = (Map<String, PDXObject>) pdResources.getXObjects();
if (xobjects != null) {
    for (String key : xobjects.keySet()) {
        PDXObject xobject = xobjects.get(key);
        if (xobject instanceof PDXObjectImage) {
            PDXObjectImage imageObject = (PDXObjectImage) xobject;
            String suffix = imageObject.getSuffix();
            if (suffix != null) {
                BufferedImage image = imageObject.getRGBImage();
            }
        }
    }
}
但图像还是空的


我使用的是org.apache.pdfbox版本1.8.11。

最终移动到了pdfbox版本2.0,然后得到了一个明确的警告:我没有安装jbig2解码器,并解决了在maven中添加以下依赖项的问题

<dependency>
    <groupId>com.levigo.jbig2</groupId>
    <artifactId>levigo-jbig2-imageio</artifactId>
    <version>1.6.5</version>
</dependency>

com.levigo.jbig2
levigo-jbig2-imageio
1.6.5

@蒂尔曼豪瑟谢谢。

如果您收到任何日志消息?也许你必须安装jbig2解码器。顺便说一句,最新版本是2.0.2。@Tilmahauser我没有收到任何错误或警告,imageObject.getRGBImage()只返回null。然后请共享PDF。只需确保您有JAI插件,可以解压缩该图像并继续使用getRGBImage()。顺便说一句,如果你能上传PDF,那会有很大帮助。
<dependency>
    <groupId>com.levigo.jbig2</groupId>
    <artifactId>levigo-jbig2-imageio</artifactId>
    <version>1.6.5</version>
</dependency>