【发布时间】:2026-02-08 10:30:01
【问题描述】:
我正在尝试使用以下代码使用 itextsharp api 为“古吉拉特语字体”生成 PDF。
BaseFont gujarati = BaseFont.CreateFont("D\Gujarati\shruti.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED); 字体 fontNormal = new Font(gujarati, 10, Font.NORMAL);
PDF 正在生成,但字体未正确显示。如果我将相同的 PDF 转换为 word,则字体会正确显示。
【问题讨论】:
-
您需要 itext7 和 caligraph 插件来支持印度语脚本。它不适用于 itext5。
-
除了@Paulo 说的:即使你需要使用itext 5 尝试一些东西,5.0.5.0 版本是古老的,现在的5.5.x 版本在很多方面都得到了改进。
-
我已将 itext5 升级到 itext 7.1.x,但问题仍未解决。与显示的 itext5 输出相同。文档 arabicPdf = new Document(new PdfDocument(new PdfWriter("D:\\test.pdf")));字符串 ARIALUNI_TFF = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Fonts), "shruti.ttf"); PdfFont f = PdfFontFactory.CreateFont("D:\\Gujarati\\New folder\\shruti.ttf", PdfEncodings.IDENTITY_H, true); arabicPdf.SetFont(f); arabicPdf.Add(new Paragraph("iText 是:નમસ્તે ગતિના").SetFont(f)); arabicPdf.Close();
标签: itext