为有中文需求的客户提供多渠道中文技术支持.

Fri Jan 14, 2022 7:35 am

你好,我想打开一个有表单的PDF文件,填充内容后保存。
发现中文字段显示异常,需要在表单项目单击,才能显示正确的内容。
麻烦帮忙确认一下,是什么原因造成的。


PdfDocument doc = new PdfDocument();
doc.LoadFromFile(@"D:\BOOK1.PDF");

PdfFormWidget formWidget = doc.Form as PdfFormWidget;
for(int i=0;i<formWidget.FieldsWidget.List.Count;i++)
{
PdfField field = formWidget.FieldsWidget.List[i] as PdfField;
if (field is PdfTextBoxFieldWidget)
{
PdfTextBoxFieldWidget textBoxField = field as PdfTextBoxFieldWidget;
switch (textBoxField.Name)
{
case "ID":
textBoxField.Text = "123";
break;
case "NAME":

textBoxField.Text = "谢谢";

break;
}
}

}

doc.SaveToFile("d:\\book2.pdf", FileFormat.PDF);

hitech
 
Posts: 11
Joined: Mon Mar 18, 2019 1:17 pm

Fri Jan 14, 2022 8:38 am

您好,

感谢询问!

我使用最新的 Spire.Pdf for Net 8.1.0测试了添加表单域,并向表单域填充中文。 生成的文档在Adobe中打开是可以直接显示中文的。 这里我附上了我的操作代码以及生成文档供您参考。

如果您没有使用最新版,我建议您使用最新版尝试一下。 如果使用最新版后仍有问题,请将您的输入文档“BOOK1.PDF”提供给我们做进一步调查。提前致谢。

Sincerely,
Marcia
E-iceblue support team
User avatar

Marcia.Zhou
 
Posts: 858
Joined: Wed Nov 04, 2020 2:29 am

Fri Jan 14, 2022 1:19 pm

你好:
感谢回复!
对提供的PDF进行表单填写测试确实中文显示正常,可是自己生成的PDF文件,
无论怎么设置都无法正确显示中文,能否帮助看一下哪里出了问题。

hitech
 
Posts: 11
Joined: Mon Mar 18, 2019 1:17 pm

Mon Jan 17, 2022 4:01 am

您好,

感谢您提供更多信息!

根据您提供的文档,我的确重现到了您提到的现象。 经过进一步调查后,我发现问题是由于您表单域的字体为“Helvetica”引起的。 请注意,英文字体不支持显示中文文字,这就导致您中文填充无法正常显示。 请参考下面代码,在要填充中文文字时对表单域设置中文字体。 如果您还有其他问题,请随时联系我们。

Code: Select all
                    PdfTextBoxFieldWidget textBoxField = field as PdfTextBoxFieldWidget;
                    textBoxField.Font = new PdfTrueTypeFont(new Font("宋体", 12f), true);
                    textBoxField.Text = "谢谢";


Sincerely,
Marcia
E-iceblue support team
User avatar

Marcia.Zhou
 
Posts: 858
Joined: Wed Nov 04, 2020 2:29 am

Mon Jan 17, 2022 4:09 am

你好,加上指令后中文可以正常显示了,非常感谢!
另外,把PDF表单域字体改为“宋体”也还是不是正常显示中文,以后程序里要统一加上以下语句。
textBoxField.Font = new PdfTrueTypeFont(new Font("宋体", 12f), true);

hitech
 
Posts: 11
Joined: Mon Mar 18, 2019 1:17 pm

Mon Jan 17, 2022 5:53 am

您好,

感谢反馈!

很高兴听到您的问题已解决。 以后您在使用我们产品时,如果遇到任何其他问题,请随时联系我们。

Sincerely,
Marcia
E-iceblue support team
User avatar

Marcia.Zhou
 
Posts: 858
Joined: Wed Nov 04, 2020 2:29 am

Return to 中文技术支持