PDF 到图像使用 PDFBox 1.8.9 文本重叠

PDF to Image using PDFBox 1.8.9 text overlapped

我正在尝试使用 PDFBox 1.8.9 将 PDF 转换为图像。字体越来越重叠。我知道这个问题不会出现在 PDFBox 2.0 SNAPSHOT 中。但在正式发布之前,它不能用于生产。

代码如下:

PDDocument pdDocument = PDDocument.load(new File("test.pdf"));  
List<PDPage> pages = pdDocument.getDocumentCatalog().getAllPages();
int pageCounter = 1;
for (PDPage page : pages) {
    BufferedImage bufferedImage = page.convertToImage();
    File imageFile = new File(String.format("/tmp/pdf-image-%s.jpg", pageCounter));
    ImageIO.write(bufferedImage, "jpg", imageFile);     
    pageCounter++;
}

除了重叠外,字体看起来与 PDF 相似?

当我尝试通过命令行使用 pdfbox-app-1.8.9.jar 将 PDF 转换为图像时,生成的图像使用不同的字体。 PDFBox 是否有任何选项可以使用 .ttf 指定自定义字体?那么,我该如何指定呢?

实际PDF:

使用以上代码转换后的图像:

使用命令行转换图像:

当在服务器上找不到时,PDFBox 将替换 Helvetica 和 Times New Roman 等字体。在我的 Linux 机器上安装上述字体后,问题就解决了。