我正在使用Java中的Apache PDFBox库生成pdf。我在pdf中嵌入了一个字体,但每当我打开pdf时,我都会收到错误消息:
“字体font_name包含错误/宽度”
无论嵌入的字体是什么,都会发生此错误,但在您对该错误点击“确定”后,字体和pdf仍会正确显示。但是,对于生产代码,即使正确呈现pdf,也会在生成的每个pdf上弹出此警告是不可接受的。
是否有针对此的解决方法,以便我可以避免错误弹出?
此处的参考是相关的bug(这是版本1.4,我想继续使用而不是回到1.3)
以下是用于嵌入字体的代码:
font = PDTrueTypeFont.loadTTF( doc, new File( "VERDANA.ttf" ));
答案 0 :(得分:0)
仅使用PDType1Font.FONT正常工作,直到您需要将“嵌入真实类型字体”嵌入到pdf文档(许多发布者需要)中,这是通过像OP那样从ttf文件加载它来完成的。
虽然嵌入成为必要的可能的解决方法,
font = PDTrueTypeFont.loadTTF( doc, new File( "helveltica.ttf" ));
font.setWidths(PDType1Font.HELVETICA.getWidths());
在下一版pdfbox中寻找永久性解决此问题的方法! :)
答案 1 :(得分:0)
此问题已在2012年7月解决,包含此修复程序的第一个版本是1.7.1。
有关详细信息,请参见Apache Jira中的问题PDFBOX-954。