itext PDF - греческие буквы не появляются в итоговом документе PDF - PullRequest
3 голосов
/ 04 октября 2010

Я с трудом пытаюсь создать PDF-файлы, содержащие буквы греческого алфавита, используя itextpdf. Я читаю строки из внешнего источника в виде строк UTF-8. Английские буквы появляются в результатах, но не греческие. В поисках проблемы, я думаю, это может быть связано с используемым шрифтом. Я не знаю, какой файл ttf использовать, если это проблема. Вот как я создаю шрифт

 BaseFont bfTimes = BaseFont.createFont(FontFactory.HELVETICA,"UTF-8", BaseFont.EMBEDDED);
 Font times = new Font(bfTimes, 12, Font.BOLD);

любая помощь приветствуется!

Ответы [ 3 ]

5 голосов
/ 05 октября 2010

Вам необходимо использовать шрифт, содержащий греческие символы. Вы можете найти греческие шрифты Unicode здесь .

Вы можете проверить пример здесь по использованию шрифтов Unicode от автора itext.

0 голосов
/ 29 января 2014

Я использовал этот код:

BaseFont fonty = BaseFont.createFont("assets/ARIALBD.TTF", BaseFont.IDENTITY_H,       BaseFont.NOT_EMBEDDED);
     fonty.setSubset(true);
     Phrase myName = new Phrase("Your Not Latin Words", new Font(fonty,12));
     ColumnText.showTextAligned(canvas,
             Element.ALIGN_LEFT, myName, 66, 400, 0);

Мне пришлось вставить ARIALBD.TTF в папку ресурсов

0 голосов
/ 12 января 2014

На самом деле проблема может привести к тому, как вы создадите шрифт. Вместо передачи «UTF-8» в качестве кодовой страницы, попробуйте использовать «CP1253».

BaseFont bfTimes = BaseFont.createFont(FontFactory.HELVETICA,"CP1253", BaseFont.EMBEDDED);
Font times = new Font(bfTimes, 12, Font.BOLD);

Кстати, у BaseFont есть статические строковые константы для CP1250, CP1252 и CP1257 ...

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