воскресенье, 23 мая 2010 г.

JasperReport Кириллица и PDF

Добрый день уважаемые читатели. Хотя для кого он добрый а для кого и нет. Я сегодня весь день провозился c одной проблемой. Впервые пришлось делать отчет для веб приложения Java/Tomcat с использованием JasperReport.
Первая проблема возникла когда ещё в ireport при попытке просмотреть отчет в PDF формате кириллица нормально не отображалась. Проблема достаточно быстро решилась.
В ireport заходите Tools->Options->iReport->Fonts->Install Fonts. Далее инсталлируете ваш TrueTypeFont, т.е. указываете ttf файл и все работает.
Сложнее оказалось когда пришлось из веб приложения пришлось генерировать отчет в формате PDF. Попытки инсталлировать шрифт всеми описанными путями, хотя нормального описания я не нашел, окончились неудачей. При попытке прописать в jasperreports_extension.properties ничего не дало. Временное решение которое я нашел следующее.
В файле jasperreports.properties прописал:
net.sf.jasperreports.export.pdf.font.Constantia.Normal=./fonts/constan/constan.ttf
net.sf.jasperreports.export.pdf.font.Constantia.Bold=./fonts/constan/constanb.ttf
net.sf.jasperreports.export.pdf.font.Constantia.Slanted=./fonts/constan/constani.ttf
net.sf.jasperreports.default.pdf.font.name=Constantia
Минус подобного решения, весь отчет в PDF формате выведен одним шрифтом. Пока другого нормального решения я не нашел. Кто сможет подсказать буду благодарен.