我正在尝试使用itextsharp api使用以下代码为“古吉拉特语字体”生成PDF。
BaseFont古吉拉特语= BaseFont.CreateFont(“ D \ Gujarati \ shruti.ttf”,BaseFont.IDENTITY_H,BaseFont.EMBEDDED); Font fontNormal = new Font(gujarati,10,Font.NORMAL);
生成PDF,但字体显示不正确。如果我将相同的PDF转换为word,则可以正确显示字体。
答案 0 :(得分:0)
本文详细介绍了如何加载pdfCalligraph
,使用正确的字体(因为该字体必须能够显示字符),以及如何将其添加到PdfDocument
首先,您需要确保pdfCalligraph
在类路径中。
如果您使用的是Maven,只需添加依赖项。
https://developers.itextpdf.com/content/itext-7-jump-start-tutorial/installing-itext-7
第二,您需要加载有效的许可证。 pdfCalligraph
是iText
平台的开源附件。因此需要许可证。
接下来,应该使用以下代码示例。
Document arabicPdf = new Document(new PdfDocument(new PdfWriter("/path/to/arabic.pdf")));
// Arabic text starts near the top right corner of the page
arabicPdf.setTextAlignment(TextAlignment.RIGHT);
// create a font, and make it the default for the document
PdfFont f = PdfFontFactory.createFont("/path/to/DroidKufi-Regular.ttf", PdfEncodings.IDENTITY_H, true);
arabicPdf.setFont(f);
// add content: السلام عليكم (as-salaamu 'aleykum - peace be upon you)
arabicPdf.add(new Paragraph("\u0627\u0644\u0633\u0644\u0627\u0645 \u0639\u0644\u064A\u0643\u0645"));
arabicPdf.close();
它是从iText
网站上逐字复制的。
https://itextpdf.com/itext7/pdfcalligraph