【问题标题】:PDFBox: ExtractImages JPEG2000 images not extractingPDFBox:ExtractImages JPEG2000 图像未提取
【发布时间】:2021-01-15 04:16:00
【问题描述】:

我正在尝试使用 PDFBox 提取 PDF 文件中的所有图像。它适用于包含 jpeg 和 png 图像的 pdf。但它不适用于 OpenJPEG2000 图像。我收到以下异常: 得到以下错误:

org.apache.pdfbox.contentstream.PDFStreamEngine operatorException
SEVERE: Cannot read JPEG2000 image: Java Advanced Imaging (JAI) Image I/O Tools are not installed

在所有版本的 PDFBox 中,都会出现同样的异常。也尝试使用独立的 jar。

我也在 pom.xml 中包含了必要的依赖项。

<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>jbig2-imageio</artifactId>
</dependency>
<!-- For legal reasons (incompatible license), these two dependencies
are to be used only in the tests and may not be distributed. -->
<dependency>
<groupId>com.github.jai-imageio</groupId>
<artifactId>jai-imageio-core</artifactId>
</dependency>
<dependency>
<groupId>com.github.jai-imageio</groupId>
<artifactId>jai-imageio-jpeg2000</artifactId>
</dependency>

我们将不胜感激。

【问题讨论】:

  • 为什么是测试范围?
  • 或者换句话说,异常是否也发生在测试中,存在这些 jai 依赖项?
  • 谢谢。删除了测试范围。它现在工作。我也在问题中进行了修改。
  • 我现在面临另一个问题。导出 jar 并尝试在 Windows 中使用命令提示符。我再次遇到同样的异常:org.apache.pdfbox.contentstream.PDFStreamEngine operatorException 严重:无法读取 JPEG2000 图像:未安装 Java 高级成像 (JAI) 图像 I/O 工具
  • 这是一个不同的问题。解决方案:使用类路径并像这样调用: "java -cp "pdfbox-app-2.0.21.jar;lib/*" org.apache.pdfbox.tools.PDFBox ExtractImages " 。复制 lib 子目录中多余的 jar 文件。

标签: java pdf pdfbox image-extraction


【解决方案1】:

将镜像相关的.jar文件复制到lib子目录下,然后使用这个命令行:

java -cp "pdfbox-app-2.0.21.jar;lib/*" org.apache.pdfbox.tools.PDFBox ExtractImages <parameters>

使用“;”在 windows 上,":" 在 linux 上。

org.apache.pdfbox.tools.PDFBox 是主类的名称。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多