首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用itextsharp 5.0.5.0生成的PDF中未正确嵌入的字体

使用itextsharp 5.0.5.0生成的PDF中未正确嵌入的字体
EN

Stack Overflow用户
提问于 2018-09-26 21:59:57
回答 1查看 520关注 0票数 0

我正在尝试生成PDF的“古吉拉提字体”使用下面的代码使用itextsharp api。

BaseFont古吉拉特文= BaseFont.CreateFont("D\Gujarati\shruti.ttf",BaseFont.IDENTITY_H,BaseFont.EMBEDDED);字体fontNormal =新字体(古吉拉特文,10,Font.NORMAL);

PDF正在生成,但字体未正确显示。如果我将相同PDF转换为word,则字体可以正确显示。

EN

回答 1

Stack Overflow用户

发布于 2018-09-27 23:23:54

这篇文章详细介绍了如何加载pdfCalligraph,使用正确的字体(因为字体必须能够显示字符),以及如何将它们添加到PdfDocument

首先,您需要确保pdfCalligraph位于类路径中。如果您使用的是Maven,只需添加依赖项。

https://developers.itextpdf.com/content/itext-7-jump-start-tutorial/installing-itext-7

其次,您需要加载有效的许可证。pdfCalligraphiText平台的一个闭源插件。所以需要一个许可证。

https://developers.itextpdf.com/content/license-key-frequently-asked-questions/how-do-i-load-license-key

接下来,下面的代码示例应该可以做到这一点。

代码语言:javascript
复制
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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52519552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档