Java PDFBox:提取图像JPEG2000图像未提取

Java PDFBox:提取图像JPEG2000图像未提取,java,pdf,pdfbox,image-extraction,Java,Pdf,Pdfbox,Image Extraction,我正在尝试使用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 i

我正在尝试使用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>

org.apache.pdfbox
jbig2图像
com.github.jai-imageio
jai图像核心
com.github.jai-imageio
jai-imageio-jpeg2000

任何帮助都将不胜感激。

将与映像相关的.jar文件复制到lib子目录中,然后使用以下命令行:

java -cp "pdfbox-app-2.0.21.jar;lib/*" org.apache.pdfbox.tools.PDFBox ExtractImages <parameters>
java-cp“pdfbox-app-2.0.21.jar;lib/*”org.apache.pdfbox.tools.pdfbox-ExtractImages
在windows上使用“;”,在linux上使用“:”


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

为什么测试范围?或者换句话说,如果存在jai依赖项,测试中是否也会出现异常?谢谢。删除了测试范围。现在开始工作了。我也修改了问题。我现在面临另一个问题。导出jar并在windows中尝试使用命令提示符。我再次遇到同样的异常:org.apache.pdfbox.contentstream.PDFStreamEngine operator异常严重:无法读取JPEG2000图像:未安装Java高级图像(JAI)图像I/O工具这是另一个问题。解决方案:使用classpath并像这样调用:“java-cp”pdfbox-app-2.0.21.jar;lib/*“org.apache.pdfbox.tools.pdfbox ExtractImages”。复制lib子目录中的额外jar文件。