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 机器上安装上述字体后,问题就解决了。
我正在尝试使用 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 机器上安装上述字体后,问题就解决了。