JasperReports піднімає JRFontNotFoundException у випадку, коли шрифт, що використовується всередині шаблону звіту, недоступний JVM як системний шрифт або шрифт, що надходить із розширення шрифту JR. Це гарантує уникнення всіх проблем, спричинених невідповідністю метрик шрифтів, і ми рано повідомляємо про невідповідність.
Jasper reports намагається допомогти вам у розробці вашого звіту, заявляючи, що він не може правильно експортувати ваш звіт, оскільки не може знайти шрифт, визначений у TextField
абоStaticText
<font fontName="Arial"/>
Так, ви можете вимкнути це, встановивши net.sf.jasperreports.awt.ignore.missing.font на true, але у вас виникнуть невідповідності щодо експорту .
Так, ви можете встановити шрифт як системний шрифт JVM (але це потрібно робити на кожному використовуваному ПК, який може генерувати звіт, і ви все одно можете мати проблеми з кодуванням ).
Правильний спосіб!
Використовуйте розширення шрифтів ! , Якщо ви хочете створити свій власний (посилання нижче), яшма звіти також розподіляє банку шрифту розширення за замовчуванням ( jasperreports-fonts-x.x.x.jar
), який підтримує Fontname DejaVu Sans
, DejaVu Serif
іDejaVu Sans Mono
<font fontName="DejaVu Sans"/>
З керівництва JasperReport Ultimate:
Ми настійно рекомендуємо людям використовувати лише шрифти, отримані з розширень шрифтів, оскільки це єдиний спосіб переконатися, що шрифти будуть доступні програмі під час виконання звітів під час виконання. Використання системних шрифтів завжди створює ризик для некоректної роботи звітів під час розгортання на новій машині, на якій ці шрифти не встановлені
Посилання на StackOverflow про те, як правильно відображати шрифти в pdf
Контрольний список щодо правильної візуалізації шрифту у форматі PDF
Створіть розширення шрифтів за допомогою JasperSoft Studio
Створіть розширення шрифтів за допомогою iReport