Если в вашей печатной форме Jasper Reports в формате RTF/PDF пропали кириллические символы, которые, однако, выводятся в DOCX, то эта заметка для вас. В ней я расскажу про создание JAR расширений для шрифтов.
Суть в том, что JasperReports не видит в этих случаях шрифты, которые вы могли уже добавить в /usr/share/fonts или установили в виде RPM. Т.е. у вас нет исключений вида:
javax.servlet.ServletException: net.sf.jasperreports.engine.util.JRFontNotFoundException: Font 'Times New Roman' is not available to the JVM. See the Javadoc for more details. |
Описание действий для создания JAR тут: ссылка
В качестве бонуса предлагаю два готовых расширения — для шрифтов Times New Roman и Courier New (это означает, что именно таким должно быть значение тэга font, к примеру <font fontName=»Courier New»/> Я привык считать, что регистр важен.). WordPress не дает загружать JAR, поэтому файлы в архивах: courier-font-ext times-new-roman-font-ext Сами шрифты тут: fonts. Сокращения в названиях файлов такие i — italic, bi — bold italic, bd — bold.
JAR-файлы со шрифтами должны быть в classpath и попасть в собранный WAR. Я размещаю их в webapp/WEB_INF/lib/.