使用iTextSharp和Unicode字符填充PDF表单

时间:2012-06-09 18:02:39

标签: c# vb.net unicode pdf-generation itextsharp

我有以下内容:

  • 使用Adobe Acrobat X创建的PDF表单(所有字段均使用Helvetica& Helvetica Bold)
  • 一个VB.NET项目,我尝试填充PDF然后展平它

以下内容会发生什么:

  • 根据我的意愿填写所有字段。

但是,一旦来自挪威的某人尝试这一切,那一切都会出错。一旦他们 使用他们使用的一些特殊字符(æ,ø等),这些字符只是被遗漏了。如果我在Adobe Reader中手动填写它时尝试使用它们,一切都很好。

我尝试过使用以下内容:

Dim bf As BaseFont = BaseFont.CreateFont("c:\Windows\fonts\arial.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED)

并且

pdfFormFields.SetFieldProperty("txtDistrict", "textfont", bf, Nothing)

哪个有效,在创建PDF表单时也可以在Adobe Acrobat中使用Arial,但是文件的大小是惊人的,如果我在Acrobat中从25 kb到25 kb,则从25 kb到1.5 mb如果我使用basefont.create方法,则为840 kb。

有没有更好的方法来实现这一目标?我问的原因是因为我正在创建的网络应用程序可能必须将这些pdf文件中的50个合并到一个文件中进行下载,然后尺寸确实变得至关重要,特别是如果尺寸从1,25 mb变为50一个文件+ mb。

非常感谢任何帮助。

0 个答案:

没有答案