首页 文章

iTextSharp在AcroForm字段中呈现捷克字符

提问于
浏览
0

我有一些PDF模板文件,其中包含 AcroForm 字段,使用OpenOffice创建 . 当我尝试使用 iTextSharp 填充字段时:

form.SetField(field.Key, String.Format(field.Value.FormatString, value));

我在展平的字段中得到重叠和缺少的字符:

enter image description here

我可以在完成的PDF中嵌入 Arial 字体,但这会大大增加大小,这也意味着必须重置已经在字段上设置的所有字体属性(由Open Office提供) .

当我在Adobe Reader中手动填写表单时,文本显示正确 . 欢迎任何建议 .

1 回答

  • 0

    我不是itextsharp的用户,但在java中使用了itext . 所以我想你在这里提到的是添加替换字体 . 我作为Pdf读者不知道是否有字体可用或不显示其文本字符 . 你正在使用AcroForm,所以会有一个对象PdfStamper,你也可以找到类似PdfStamper.getWriter()的方法.getAcroForm() . setNeedAppearances(true);就像在itext java对等 . 也就是form.addSubstitutionFont(BaseFont Obj为你的语言) . 你可以添加多个因为在java itext透视图中它是一个arraylist.Also当使用.ttf文件或.ttc文件的字体创建basefont时记住哪个编码例如,为了维护中文字符,我们使用IDENTITY_H编码,对于阿拉伯语,我们使用IDENTITY_V(垂直方向,水平方向) . 如果这有帮助的话这种方式(作为java itext用户我没有知道它与itextsharp的符合程度

相关问题