Ich versuche, einen Bericht mit DynamicJasper zu erstellen, erhalte jedoch den folgenden Fehler:
net.sf.jasperreports.engine.util.JRFontNotFoundException:
Font 'Arial' is not available to the JVM.
msttcorefonts ist installiert, aber ich denke, die JVM verwendet keine Schriftarten davon.
Ich benutze Ubuntu 10.04.
Wie kann ich das beheben?
Antworten:
Ich habe versucht, mscorefonts zu installieren, aber das Paket wurde installiert und auf dem neuesten Stand.
Ich habe versucht, im Dateisystem nach der Schriftart zu suchen, mit:
Dieser Ordner hatte gerade die README-Datei mit den korrekten Anweisungen zur Installation.
Dazu benötigen Sie eine Internetverbindung:
Ich habe neu installiert
ttf-mscorefonts-installer
(wie oben gezeigt, um sicherzustellen, dass die EULA akzeptiert wird!) Und das Problem wurde gelöst.quelle
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
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 SchriftnameDejaVu Sans
,DejaVu Serif
undDejaVu Sans Mono
Aus dem JasperReport Ultimate Guide:
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
quelle
Ich benutze IReport, um die Schriftart zu installieren:
Wählen Sie dann die Schriftart aus und klicken Sie auf
Fügen Sie dieses Glas und auch spring.jar * zu Ihrem Erstellungspfad hinzu.
* Kopieren Sie spring.jar aus Jaspersoft \ iReport-3.7.0 \ ireport \ modules \ ext
quelle
sudo apt-get install msttcorefonts
funktioniert (in unserer Ubuntu-Entwicklungsumgebung), ist aber keine sehr gute Lösung.Stattdessen haben wir die Schriftarten mit unserer Anwendung basierend auf diesem Tipp gebündelt . Ihre JAR-Datei enthält die folgenden Schriftarten:
Direkter Link zum Herunterladen von jar: Maven ver 1.0. DynamicFonts
quelle
Für CentOS:
wget msttcorefonts
Dann:
Starten Sie JVM schließlich neu.
quelle
Es gibt drei Methoden, um ein solches Problem zu vermeiden.
Methode 1: Durch Setzen der Option "Fehlende Schrifteigenschaft ignorieren".
oder Sie können diese Eigenschaft festlegen, indem Sie die folgende Zeile in die .jrxml-Datei eingeben.
Methode 2: Durch Festlegen der Standardschriftart-Eigenschaft.
oder Sie können diese Eigenschaft festlegen, indem Sie die folgende Zeile in die .jrxml-Datei eingeben.
Methode 3: durch Hinzufügen einer fehlenden Schrifteigenschaft.
Installieren Sie zunächst fehlende Schriftarten in IReport, indem Sie "Extras >> Optionen >> Schriftarten >> Schriftart installieren" auswählen, dann alle Schriftarten auswählen und exportieren, indem Sie mit der Erweiterung ".jar" auf "Als Erweiterung exportieren" klicken.
Sie können dieses Glas für Jasperreports-font.XXXjar verwenden, das in Ihrer Projektbibliothek oder Ihrem Klassenpfad vorhanden ist.
quelle
Ich habe dieses Problem gelöst, indem ich nur "SansSerif" oder "Serif" gewählt habe und nicht "Arial" oder "Times New Roman".
quelle
Sie können Ihre benutzerdefinierten Schriftarten über iReport erstellen und wie JAR-Dateien konvertieren
quelle
Versuchen Sie, die Zeile hinzuzufügen
net.sf.jasperreports.awt.ignore.missing.font = true
in Ihre Datei jasperreports.properties.
Jasper hört auf, eine Schriftart zu finden
quelle
Sie können dies tun, indem Sie Schriftarten installieren, dh überall dort, wo Sie diese bestimmte Anwendung ausführen möchten. Am einfachsten ist es, diese bl-Zeile zu Ihrer jrxml-Datei hinzuzufügen:
Ich hoffe es hilft.
quelle
Für Debian
hinzufügen
zu deb und deb-src in /etc/apt/sources.list dh:
Dann
Natürlich müssen Sie jasperserver neu starten. dh:
Ändern Sie für Ihre Version / Pfad.
quelle
Ich hatte das Problem mit meiner Webanwendung, die auf Spring 3 basiert und auf Weblogic 10.3 unter Oracle Linux 6 bereitgestellt wurde. Die unter dem Link erwähnte Lösung funktionierte bei mir nicht.
Ich musste die folgenden Schritte ausführen: 1. Kopieren Sie die Arial * .ttf-Schriftdateien in das Verzeichnis JROCKIT_JAVA_HOME / jre / lib / fonts. 2. Geben Sie die Schriftarten in fontconfig.properties.src ein. 3. Starten Sie den Cluster über die Weblogic-Konsole neu
quelle
Wenn Sie in Ihrem Projekt maven verwenden, können Sie pom.xml einfach die Abhängigkeit von jasper-fonts hinzufügen:
Das Installieren der fehlenden Schriftart auf dem System ist möglicherweise eine funktionierende Lösung, aber nicht für mich. Ich wollte die fehlenden Schriftarten nicht nach jeder Bereitstellung auf einem neuen Server installieren müssen, sondern habe mich dafür entschieden, die Schriftart in die Anwendung einzubetten.
Grüße.
quelle
Jasper-Bericht in mehreren Sprachen erstellen (Unicode)
1) Installieren Sie die Schriftart in ireport desginer
2) Erstellen Sie eine Erweiterung der Schriftart (wir werden sie im Anwendungsklassenpfad verwenden).
3) Installieren Sie die Schriftart auf dem Betriebssystem (optional)
4) Fügen Sie alle .ttf-Schriftarten in das Verzeichnis jre-> lib-> fonts ein (andernfalls löst die Webanwendung eine Fehlerschrift aus, die für JVM nicht verfügbar ist.)
quelle
Eigentlich habe ich dieses Problem auf sehr einfache Weise behoben
home path
, wie/root
.fonts
all your font files
nach.fonts
, Sie können die Schriftart von kopieren,C:\windows\fonts
wenn Sie Windows verwenden.sudo apt-get install fontconfig
fc-cache –fv
Schriftarten-Caches neu zu erstellen.quelle
Lösung in 2 Schritten (wenn Sie centOS verwenden)
Laden Sie das RPM-Paket für Microsoft Core Fonts herunter.
Installieren Sie das RPM-Paket.
quelle
Kopieren Sie Ihre Schriftarten in das folgende Verzeichnis: JDK_HOME \ jre \ lib \ fonts
quelle
Hey Haben Sie Probleme beim Anzeigen von unter Windows erstellten Dokumenten?
Sie können einfach eine gute Lösung ausprobieren:
Danach muss ich mein System CentOS6 neu starten.
Quelle: http://mscorefonts2.sourceforge.net/
quelle