我们有一组PDF格式的表单。在我们的程序中,我们读取这些表单,填充数据,然后写入它们。我们使用Foxit PDF Editor来找出在这些表单上使用的字体是标准字体Helvetica。在编写表单时,我们按如下方式设置字体:
bf=BaseFont.createFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1252, BaseFont.NOT_EMBEDDED); 问题是:在原始表单上有一些字符,我们无法使用Foxit PDF Editor识别字体,即这些字符的字体属性为空。然后,在打印的表单上,这些字符将无法正确呈现。在Foxit Editor中,这些字符的字体属性为"Non embedded font: EuropeanPi-Three“,而我们在编写PDF表单时从未将任何字体设置为EuropeanPi-Three。我们在java中使用com.lowagie.text包来处理pdf。有人知道如何处理这个问题吗?谢谢
发布于 2013-08-28 02:23:32
我在iTextSharp上也遇到过类似的问题。
解决方法是设置“替换”字体。该方法的名称类似于setSubstitutionFont(BaseFont).
https://stackoverflow.com/questions/18472086
复制相似问题