如何解决“无法读取JPEG2000图像:未安装Java Advanced Imaging(JAI)图像I / O工具”

桑托什

我正在设置一个Java项目,使用pdfBox从PDF中获取图像。由于我将tika-app用于其他功能,因此我决定使用tika-app-1.20.jar中的pdfBox。

我之前尝试过包含jai-imageio-core-1.3.1.jar,因为Tika-app已经捆绑了此jar。我独自尝试了tika-app jar。

抛出错误的行

PDXObject object = resources.getXObject(cosName);

错误的日志跟踪:

org.apache.pdfbox.filter.MissingImageReaderException: Cannot read JPEG2000 image: Java Advanced Imaging (JAI) Image I/O Tools are not installed
    at org.apache.pdfbox.filter.Filter.findImageReader(Filter.java:163)
    at org.apache.pdfbox.filter.JPXFilter.readJPX(JPXFilter.java:115)
    at org.apache.pdfbox.filter.JPXFilter.decode(JPXFilter.java:64)
    at org.apache.pdfbox.cos.COSInputStream.create(COSInputStream.java:77)
    at org.apache.pdfbox.cos.COSStream.createInputStream(COSStream.java:175)
    at org.apache.pdfbox.cos.COSStream.createInputStream(COSStream.java:163)
    at org.apache.pdfbox.pdmodel.common.PDStream.createInputStream(PDStream.java:236)
    at org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject.<init>(PDImageXObject.java:140)
    at org.apache.pdfbox.pdmodel.graphics.PDXObject.createXObject(PDXObject.java:70)
    at org.apache.pdfbox.pdmodel.PDResources.getXObject(PDResources.java:426)

但是我很确定我在tika中有jai-imageio-core,当我运行代码时发现它是不可见的。

robin850

其实,我偶然发现了这个错误,以及但这是PDFBox的文档中mentionned这里您需要将以下依赖项添加到您的pom.xml

<dependency>
    <groupId>com.github.jai-imageio</groupId>
    <artifactId>jai-imageio-core</artifactId>
    <version>1.4.0</version>
</dependency>

<dependency>
    <groupId>com.github.jai-imageio</groupId>
    <artifactId>jai-imageio-jpeg2000</artifactId>
    <version>1.3.0</version>
</dependency>

<!-- Optional for you ; just to avoid the same error with JBIG2 images -->
<dependency>
    <groupId>org.apache.pdfbox</groupId>
    <artifactId>jbig2-imageio</artifactId>
    <version>3.0.3</version>
</dependency>

如果您正在使用Gradle:

dependencies {
    implementation 'com.github.jai-imageio:jai-imageio-core:1.4.0'
    implementation 'com.github.jai-imageio:jai-imageio-jpeg2000:1.3.0'

    // Optional for you ; just to avoid the same error with JBIG2 images
    implementation 'org.apache.pdfbox:jbig2-imageio:3.0.3'
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Jframe上显示jpeg2000图像?

在Maven中使用Java Advanced Imaging

使用Java JAI缩放图像

是否有Java Advanced Imaging API的本地实现版本?

在Java和Eclipse错误上将图像从.bmp转换为jpeg2000

将图像转换为Jpeg2000不起作用

Java / JAI-保存灰度图像

如何在Ubuntu 14.04上安装JavaTM Advanced Imaging API v1.1.3

Java Advanced Imaging-从哪里获得最新的二进制版本?

图像类型为UNKNOWN,带有PdfBox和JPEG2000示例

如何解决mpv无法显示完整图像的问题?

在Fedora 21上安装Android Studio时如何解决“无法运行mksdcard SDK工具”?

工具栏图像居中

基于图像像素的工具提示

工具栏图像错误

如何使用PIL(Python-Imaging)反转图像的颜色?

如何使用Lumia Imaging SDK调整图像大小?

“需要安装 JAI Image I/O 包。” IntelliJ IDEA Scala SBT项目中使用tess4j时出现错误

如何获得支持 JPEG 2000 的图像查看器?

实时显示PID和文件I / O的工具

图像库(如安装程序)上的工具提示无法正常工作

从JPEG图像读取数据

JAI ImageIO的纯Java替代品,用于检测CMYK图像

弹丸图像错误问题如何解决?

如何解决图像布局/定位问题?

图像不出现,如何解决?

带有Bootstrap工具提示的图像映射未正确显示

我的图像和字形图标未显示,但是路径正确,如何解决此问题?

为什么我的JPEG2000格式(.jp2)图像在Safari中显示,但在Chrome或Brave中却没有显示?