今天项目测试过程中,PDF转图片功能出现了一个BUG(使用pdfbox2.0.2),原PDF文件里面很多图片元素,在转换成图片以后就消失不见了,这还了得,赶紧查日志。没有发现红色的报错提示,却出现了灰色的警告提示:Cannot read JPEG2000 image: Java Advanced Imaging (JAI) Image I/O Tools are not installed;用我英语八级的水准一瞧,这不是说缺少啥I/O工具,不能读取JPEG2000格式的图片嘛,问题应该就出在这里了,用这个关键词网上一查,基本上没有关于这方面的解释的,唯一一个给我提供了一点线索的,国外stackoverflow,https://stackoverflow.com/questions/42169154/pdfbox1-8-12-convert-pdf-to-white-page-image,最后一条不起眼的小回复给了启发,加上了依赖
Gradle 添加依赖:
compile group: 'com.github.jai-imageio', name: 'jai-imageio-jpeg2000', version: '1.3.0'
Maven 添加依赖:
<dependency>
<groupId>com.github.jai-imageio</groupId> <artifactId>jai-imageio-jpeg2000</artifactId> <version>1.3.0</version> </dependency>
果然真正确识别图片元素了,在这里感谢国外的小哥了!
添加依赖前:
添加依赖后: