Арабские символы отображаются неправильно [дубликаты]
На этот вопрос уже есть ответ:
RTL не работает при генерации PDF с itext 5.5 для арабского текста 3 ответаДля своего веб-сайта я использую itextpdf 5.5.4 для генерации загрузок в формате PDF. Сайт предназначен для людей, которые говорят по-английски. Недавно пользователь из Египта воспользовался сайтом, ввел некоторые материалы на арабском языке и связался со мной по поводу своей проблемы.
Это его арабский контент правильно отображается в браузере:
Это неверное отображение в PDF:
Вот код Java, который у меня есть. Обратите внимание, что на самом деле он может генерировать PDF с китайскими символами ПРАВИЛЬНО:
BASE_FONT base = BaseFont.createFont("/fonts/ARIALUNI.ttf", BaseFont.IDENTITY_H , BaseFont.EMBEDDED);
Font f = new Font(base, 10f);
String htmlString = string_with_Arabic_text;
Paragraph p = new Paragraph(htmlString, f);
p.setSpacingBefore(20.0f);
p.setSpacingAfter(7.0f);
document.add(p);
Как решить проблему?
В Eclipse (используемой мной среде IDE) арабские символы отображаются правильно вhtmlString
. В настоящее время я не могу перейти на последнюю версию itextpdf из-за различных причин проекта.