Java:无法正确呈现pdf中的字符

时间:2013-08-27 17:39:32

标签: java pdf fonts pdf-generation

我们在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。我们使用package com.lowagie.text来处理java中的pdf。谁知道如何处理这个问题?谢谢

1 个答案:

答案 0 :(得分:0)

我和iTextSharp有类似的问题 解决方案是设置“替换”字体。该方法称为 setSubstitutionFont(BaseFont)