Экспорт JasperReport в PDF, символы отсутствуют - PullRequest
6 голосов
/ 09 сентября 2010

У меня есть приложение Java, которое генерирует JasperReports. Он будет создавать до трех JasperPrints из одного отчета: один печатается на принтере, один сериализуется и сохраняется в базе данных, а третий экспортируется в PDF с помощью встроенной функции экспорта Jasper.

Проблема заключается в том, что при экспорте в PDF символы, содержащие 8 или более бит (т.е. не 7-битный ASCII), отображаются в виде пустых квадратов, что означает, что Acrobat Reader не может отображать этот символ. Версия для печати правильная, и загрузка версии базы данных и ее печать отображаются правильно. Если я изменю экспортированную версию PDF на другой формат, например, XML, символ хорошо отображается в веб-браузере.

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

Используемый шрифт Lucida Sans Typewriter, моноширинный шрифт Unicode. Каталог «шрифтов» Windows указан в classpath Java: без этого шага экспорт PDF с треском проваливается с нулевым текстом вообще, поэтому я знаю, что он находит шрифт.

Конкретные символы, которые не отображаются, являются акцентированными символами, используемыми в испанском тексте: á, é, í, ó и ú. Я не проверил ñ, но, думаю, это тоже не сработает.

Есть идеи, в чем проблема, какие области системы нужно проверить, или, может быть, параметры, которые мне нужно отправить в процесс экспорта?

Ответы [ 3 ]

2 голосов
/ 11 сентября 2010

Кодировка PDF, используемая для экспорта, была UTF-8, и, очевидно, шрифт не поддерживал это должным образом. Когда я изменил его на ISO-8859-1, каждый символ правильно отображался в выводе PDF.

0 голосов
/ 12 марта 2018

Я использую Jasper Report 6, Моя команда потратила несколько дней на отображение кхмерского Unicode. Я наконец нашел решение, и все работает как положено.

следовать этому https://community.jaspersoft.com/wiki/custom-font-font-extension

после экспорта загрузите файл jar в папку lib и перезапустите сервер jasper.

0 голосов
/ 10 сентября 2010

В iReport попробуйте установить для свойства Pdf Embedded ваших TextFields значение true.

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