Как настроить iText для поддержки азиатских символов? - PullRequest
5 голосов
/ 22 ноября 2011

Мое Java-приложение создает PDF-файлы, используя iText. Иногда контент азиатский, что не работает. Азиатские символы не видны.

Я нашел iTextAsian.jar на странице загрузки iText, но не знаю, как его использовать.

Цель - использовать мой любимый шрифт по умолчанию. Но когда символ недоступен, для него используется другой шрифт. Я прочитал, iText может выбирать шрифты таким способом автоматически, но как это настроить?

Я также хочу, чтобы все необходимые шрифты были включены в PDF, чтобы пользователям не приходилось устанавливать азиатские шрифты на свои компьютеры.

1 Ответ

2 голосов
/ 24 ноября 2011
  • Вы можете определить «FontSelector», а затем добавить свои шрифты (fontSelector.AddFont). Теперь iText будет выбирать недоступный символ из следующего определенного шрифта, используя метод fontSelector.Process.
  • Азиатские символы обычно являются Unicode, поэтому вы должны установить «BaseFont.IDENTITY_H» вместо Ansi (например, FontFactory.GetFont («tahoma», BaseFont.IDENTITY_H)).
  • Если это RTL, вам нужно обернуть текст в элементы, которые имеют свойство направления бега, и установить его в rtl.
...