Шрифты неправильно встроены в сгенерированный PDF с использованием itextsharp 5.0.5.0 - PullRequest
0 голосов
/ 26 сентября 2018

Я пытаюсь сгенерировать PDF, используя itextsharp api для "шрифта гуджарати", используя следующий код.

BaseFont gujarati = BaseFont.CreateFont ("D \ Gujarati \ shruti.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);Font fontNormal = новый шрифт (gujarati, 10, Font.NORMAL);

PDF генерируется, но шрифты отображаются неправильно.если я конвертирую тот же PDF в слово, то шрифты отображаются правильно.

1 Ответ

0 голосов
/ 27 сентября 2018

В этом посте подробно описано, как загрузить pdfCalligraph, использовать правильный шрифт (поскольку шрифт должен быть способен отображать символы) и добавить их к PdfDocument

Сначала вам необходимо убедиться pdfCalligraph на вашем пути к классам.Если вы используете Maven, просто добавьте зависимость.

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

Во-вторых, вам необходимо загрузить действующую лицензию.pdfCalligraph является надстройкой с закрытым исходным кодом для платформы iText.Таким образом, требуется лицензия.

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

Далее, следующий код должен сделать это.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...