【发布时间】:2015-06-09 06:58:28
【问题描述】:
我正在尝试使用 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:
使用上述代码转换的图像:
使用命令行转换图像:
【问题讨论】:
-
你能展示一个示例屏幕截图吗?
-
如果是同一台电脑,我怀疑是不同的字体-也许图像分辨率不同?
-
@TilmanHausherr 图像分辨率对此有什么影响吗?因为,我已经尝试过更改分辨率。
-
@jaghan 不,我的意思是它可能会产生错觉。我真的很想看看 Pekka 要求的屏幕截图。
-
@Pekka웃 谢谢,但我的意思是屏幕截图显示从 java 代码渲染和从 cmdline 应用程序渲染是不同的。字体渲染不正确的问题是已知的(我相信我们在 2.0 中解决了 100 多个与字体相关的问题!),正如您所写,将在 2.0 中工作。这在 1.8 中无法修复。
标签: pdf pdf-generation pdfbox