如何在iTextSharp中填写PDF表格并支持多种语言?

时间:2011-04-25 19:50:42

标签: c# pdf character-encoding itextsharp pdf-form

我想知道在使用iTextSharp填写表单字段时是否有支持多种语言的方法。我们需要支持用户填写英语,欧洲语言和变音符号以及亚洲语言(如中文和日语)的字段,但不知道如何在同一PDF上支持这些字段(例如,用户可以使用英语回答的表单字段)还有一些中文例如)。我们必须使用预先定义的Acrobat表单,例如在我们的场景中,我们无法从头开始创建PDF。

有没有办法在iTextSharp中实现这一目标?至少支持大多数欧洲语言和中文以及表单/生成过程知道何时使用知道支持特定字符的知识?

2 个答案:

答案 0 :(得分:0)

是否可以根据来自其他程序的用户输入动态生成PDF,例如: Windows窗体应用程序或网页?根据用户从所述应用程序中的选择,您可以动态生成PDF(基于模板)并应用适当的字符集。

答案 1 :(得分:0)

您遇到的问题(最佳猜测)是您正在填充的字段的预定义字体使用WinAnsiEncoding(或其他一些不支持您需要的所有变音符号的单字节编码)。 / p>

我看到iText支持直接设置字段的字体。优异。

myAcroFields.setFieldProperty(fldName, "textfont", myBaseFont, null);

我相信您需要使用中文编码对字体进行子集化,但对于欧洲编码的字体,您可能希望完全嵌入有问题的字体。当您尝试显示缺少的字符时,表单字段(可以编辑)中的字体反应很差...至少他们曾经使用过很多次。上次我试过围绕Acrobat 5,所以行为很可能已经改善了。