JasperReports löst eine JRFontNotFoundException aus, wenn die in einer Berichtsvorlage verwendete Schriftart für die JVM weder als Systemschriftart noch als Schriftart aus einer JR-Schriftartenerweiterung verfügbar ist. Dadurch wird sichergestellt, dass alle Probleme vermieden werden, die durch nicht übereinstimmende Schriftmetriken verursacht werden, und wir werden frühzeitig vor Inkonsistenzen gewarnt.
Jasper Reports versucht, Ihnen bei der Berichtsentwicklung zu helfen , und gibt an, dass Ihr Bericht nicht korrekt exportiert werden kann, da die in TextField
oder definierte Schriftart nicht gefunden werden kannStaticText
<font fontName="Arial"/>
Ja, Sie können dies deaktivieren, indem Sie net.sf.jasperreports.awt.ignore.missing.font auf true setzen. Es treten jedoch Exportinkonsistenzen auf .
Ja, Sie können die Schriftart als JVM-Systemschriftart installieren (Sie müssen dies jedoch auf jedem verwendeten PC tun, auf dem möglicherweise Berichte erstellt werden, und es können weiterhin Codierungsprobleme auftreten ).
Der richtige Weg!
Verwenden Sie Font Extensions ! Wenn Sie, wie Sie Ihre eigenen erstellen (siehe Link unten), Jasper Reports verteilt auch eine Standard - Schriftart-Erweiterung jar ( jasperreports-fonts-x.x.x.jar
), dass Stützen Schriftname DejaVu Sans
, DejaVu Serif
undDejaVu Sans Mono
<font fontName="DejaVu Sans"/>
Aus dem JasperReport Ultimate Guide:
Wir empfehlen dringend, nur Schriftarten zu verwenden, die von Schriftartenerweiterungen abgeleitet sind, da nur so sichergestellt werden kann, dass die Schriftarten der Anwendung zur Verfügung stehen, wenn die Berichte zur Laufzeit ausgeführt werden. Die Verwendung von Systemschriftarten birgt immer das Risiko, dass die Berichte nicht ordnungsgemäß funktionieren, wenn sie auf einem neuen Computer bereitgestellt werden, auf dem diese Schriftarten möglicherweise nicht installiert sind
Links zu StackOverflow zum korrekten Rendern von Schriftarten im PDF-Format
Checkliste zum korrekten Rendern von Schriftarten im PDF-Format
Generieren Sie Font-Erweiterungen mit JasperSoft Studio
Generieren Sie Font-Erweiterungen mit iReport