c# – 使用unicode字符填写pdf表单

c# – 使用unicode字符填写pdf表单,第1张

概述我试图用c#插入一些unicode字符(阿拉伯语)到PDF格式我使用iTextSharp库但是当我插入字符并在PDF文件中保存字符时,unicode字符不会显示,直到我双击字符的位置应该出现. string pdfTemplate = @"c:\po.pdf";string newFile = @"g:\test\completed_fw4.pdf";PdfReader pdfReader = 我试图用c#插入一些unicode字符(阿拉伯语)到pdf格式我使用iTextSharp库但是当我插入字符并在pdf文件中保存字符时,unicode字符不会显示,直到我双击字符的位置应该出现.
string pdfTemplate = @"c:\po.pdf";string newfile = @"g:\test\completed_fw4.pdf";pdfReader pdfReader = new pdfReader(pdfTemplate);pdfstamper pdfstamper = new pdfstamper(pdfReader,new fileStream(newfile,fileMode.Create));AcroFIElds pdfFormFIElds = pdfstamper.AcroFIElds;pdfFormFIElds.SetFIEld("position",TextBox1.Text);pdfstamper.FormFlattening = false;// close the pdfpdfstamper.Close();
解决方法 有几种方法可以解决这个问题,但最终需要指定一种能够呈现Unicode内容的字体.

首先,创建一个指向Unicode字体的BaseFont对象,我在下面使用Arial Unicode:

var arialFontPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Fonts),"ARIALUNI.TTF");var arialBaseFont = BaseFont.CreateFont(arialFontPath,BaseFont.IDENTITY_H,BaseFont.EMbedDED);

然后,您可以单独设置每个字段的字体属性:

pdfFormFIElds.SetFIEldProperty("position","textFont",arialBaseFont,null);

或者您可以添加文档范围的替换字体:

pdfFormFIElds.AddSubstitutionFont(arialBaseFont);
总结

以上是内存溢出为你收集整理的c# – 使用unicode字符填写pdf表单全部内容,希望文章能够帮你解决c# – 使用unicode字符填写pdf表单所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1263532.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存