微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 iText Sharp 在 PDF 数字签名外观上正确查看阿拉伯文本?

如何解决如何使用 iText Sharp 在 PDF 数字签名外观上正确查看阿拉伯文本?

我正在尝试使用其主题名称为阿拉伯语的证书对 PDF 文件进行签名。签名外观未正确显示文本,文本方向应为 RTL。例如,它显示的不是“عربي”而是“ي ب ر ع”

 PdfFont fontTest = PdfFontFactory.CreateFont(System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Fonts),"Tahoma.ttf"),PdfEncodings.IDENTITY_H,true);
PdfString pdfString = new PdfString("Digitally signed by\n " + cert.IssuedTo + "\n Date:" + DateTime.Now);
PdfSignatureAppearance appearance = signer.GetSignatureAppearance();
                        
appearance.SetReuseAppearance(false)
          .SetPageRect(rect)
          .SetPageNumber(pageNmber)
          .SetLayer2Font(fontTest)
          .SetLayer2Text(pdfString.ToString())
                            .SetRenderingMode(PdfSignatureAppearance.RenderingMode.NAME_AND_DESCRIPTION) ;
                       

解决方法

在 iText 7 中,有一个单独的附加组件可以促进复杂的脚本支持。要在 iText 7 中启用对 complex scripts 的支持,请使用 iText pdfCalligraph 插件

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。