我想知道在使用 iTextSharp 填写表单字段时是否有支持多种语言的方法。我们需要支持用户填写英语、带变音符号的欧洲语言以及中文和日语等亚洲语言的字段,但不知道如何在同一个 PDF 上支持所有这些(例如,用户可能有用英语回答的表单字段和一些例如中文)。我们必须使用预定义的 Acrobat 表单,例如,我们不能在我们的场景中完全从头开始创建 PDF。
有没有办法在 iTextSharp 中实现这一点?至少要支持大多数欧洲语言和中文,并让表单/生成过程知道何时使用支持特定字符的正确知道?
我想知道在使用 iTextSharp 填写表单字段时是否有支持多种语言的方法。我们需要支持用户填写英语、带变音符号的欧洲语言以及中文和日语等亚洲语言的字段,但不知道如何在同一个 PDF 上支持所有这些(例如,用户可能有用英语回答的表单字段和一些例如中文)。我们必须使用预定义的 Acrobat 表单,例如,我们不能在我们的场景中完全从头开始创建 PDF。
有没有办法在 iTextSharp 中实现这一点?至少要支持大多数欧洲语言和中文,并让表单/生成过程知道何时使用支持特定字符的正确知道?
是否可以选择根据来自另一个程序(例如 Windows 窗体应用程序或网页)的用户输入动态生成 PDF?根据用户从所述应用程序中的选择,您可以动态生成 PDF(基于模板)并应用适当的字符集。
是的。
您遇到的问题(最好的猜测)是您正在填写的字段的预定义字体使用 WinAnsiEncoding (或其他一些不支持您需要的所有变音符号的单字节编码)。
而且我看到 iText 确实支持直接设置字段的字体。出色的。
myAcroFields.setFieldProperty(fldName, "textfont", myBaseFont, null);
我相信您需要使用中文编码对字体进行子集化,但是对于欧洲编码的字体,您可能希望完全嵌入有问题的字体。当您尝试显示缺少的字符时,表单字段中的字体(可以编辑)反应不佳......至少他们曾经,很多个月前。我上次尝试是在 Acrobat 5 左右,所以很可能行为有所改善。