0%

使用pdfbox把pdf转图片时遇到的问题

我们使用 apache 的 pdfbox 工具,来处理 pdf。在把 pdf 转图片时,会遇到如下一些问题。

1
WARN 8776 --- [           main] o.a.pdfbox.pdmodel.font.PDType0Font      : No Unicode mapping for CID+3585 (3585) in font DJXXII+PingFangSC-Regular

这个应该是找不到字体,不过是 WARN 级别,在这里可以不用太在意。我找到很多方法,也没能解决掉这个警告。

处理字体时,需要加入以下依赖。

1
2
3
4
5
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>fontbox</artifactId>
<version>2.0.19</version>
</dependency>
1
ERROR 8776 --- [           main] o.a.p.contentstream.PDFStreamEngine      : Cannot read JBIG2 image: jbig2-imageio is not installed

需要添加如下依赖:

1
2
3
4
5
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>jbig2-imageio</artifactId>
<version>3.0.3</version>
</dependency>
1
ERROR 9074 --- [           main] o.a.p.contentstream.PDFStreamEngine      : Cannot read JPEG2000 image: Java Advanced Imaging (JAI) Image I/O Tools are not installed

需要添加如下依赖:

1
2
3
4
5
<dependency>
<groupId>com.github.jai-imageio</groupId>
<artifactId>jai-imageio-jpeg2000</artifactId>
<version>1.3.0</version>
</dependency>

jai-imageio-jpeg2000 会依赖相同版本的 jai-imageio-core,但我们可以使用最新版本的 jai-imageio-core

1
2
3
4
5
<dependency>
<groupId>com.github.jai-imageio</groupId>
<artifactId>jai-imageio-core</artifactId>
<version>1.4.0</version>
</dependency>