2015-10-20 3 views
0

Я пытаюсь отобразить японские или арабские символы в объекте HTML-таблицы и преобразовать его в документ PDF. .Элемент PdfPTable: японские символы не отображаются

<table> 
    <tr><td>Japanese: ンミタィヴ研理</td></tr> 
</table> 

Результат просто:

Японский:

Когда японское содержание находится за пределами таблицы, она отображается правильно в формате PDF. Я попытался манипулировать содержимым iText PdfPTable на уровне Chunk и назначить основной шрифт явно Chunk. Но тогда я потеряю другие стили форматирования, такие как полужирный, h1 и т. Д. Также, если я буду работать со стилями, проблемы с форматированием будут потеряны.

У меня есть, среди прочих, 2_wqy-zenhei-0.5.23 как пакет шрифтов.

Итак, есть ли способ сказать реализацию iText для отображения символов, сохраняя при этом все форматирование?

ответ

1

Я предполагаю, что вы используете XML Worker для преобразования HTML в PDF. Если вы все еще используете старый рабочий стол HTML (версии до iText 5), вам следует обновить его.

Я думаю, что это проблема с шрифтом. Вы уже проверили это частично, подтвердив, что ваш японский контент отображается, когда он находится за пределами таблицы, и установив шрифт непосредственно на содержимое PdfPTable. Но, возможно, есть еще некоторые различия в конфигурации шрифта между контентом внутри вашей таблицы и за ее пределами.

Я тестировал с iText 5.5.7 и XML Worker 5.5.7 (текущие версии выпуска). У меня нет указанного пакета шрифтов. Поэтому я тестировал Arial Unicode.

Я скорректировали свой HTML образец следующим образом:

<table style="font-family: 'Arial Unicode MS'; border:1px solid black"> 
    <tr><td>Table</td></tr> 
    <tr><td>Japanese: ンミタィヴ研理</td></tr> 
</table> 
<p style="font-family: 'Arial Unicode MS'">Japanese in paragraph: ンミタィヴ研理</p> 

Результирующий PDF выглядит следующим образом: Japenese text in PDF

+1

Thx много! Ты понял. Это был шрифт. И извините, я забыл упомянуть использованные банки: Это itextpdf-5.5.2.jar и xmlworker-5.3.5.jar. – Andy

Смежные вопросы