PDFBox PDTrueTypeFont错误/宽度错误的解决方法?

问题描述 投票:1回答:2

我正在使用Java中的Apache PDFBox库生成pdf。我在pdf中嵌入了一个字体,但每当我打开pdf时,我都会收到一条错误消息:

“字体font_name包含错误/宽度”

无论嵌入的字体是什么,都会发生此错误,但在您对该错误点击“确定”后,字体和PDF仍然正确显示。但是,对于生产代码,即使正确呈现pdf,也会在生成的每个pdf上弹出此警告是不可接受的。

是否有解决方法,以便我可以避免错误弹出?

这里参考的是相关的bug(这是版本1.4,我想继续使用而不是回到1.3)

以下是用于嵌入字体的代码:

font = PDTrueTypeFont.loadTTF( doc, new File( "VERDANA.ttf" ));
true-type-fonts embedded-fonts pdfbox
2个回答
0
投票

只有使用PDType1Font.FONT正常工作,直到你需要'嵌入真正的类型字体'到pdf文档(许多发布者需要),这是通过从OP加载ttf文件完成的。

虽然嵌入成为必要的可能的解决方法,

font = PDTrueTypeFont.loadTTF( doc, new File( "helveltica.ttf" ));
font.setWidths(PDType1Font.HELVETICA.getWidths());

在下一版pdfbox中寻找fwd以永久修复此问题! :)


0
投票

此问题已于2012年7月解决,包含此修复程序的第一个版本为1.7.1。

详情请参阅问题PDFBOX-954在Apache Jira中。

© www.soinside.com 2019 - 2024. All rights reserved.