Suche…


Erstellen und Verwenden von Font-Erweiterungen

Erstellen Sie eine Schriftarterweiterung mithilfe der IDE. Weitere Informationen finden Sie in der Dokumentation zu iReport oder Jaspersoft Studio . Die Font-Erweiterung kann auch manuell erstellt werden .

Was sind Font-Erweiterungen?

Mit einem textElement Sie eine Schriftart angeben (wenn nicht die Standardschriftart SansSerif verwendet wird).

<textElement>
    <font fontName="DejaVu Sans"/>
</textElement>

Um die Font-Metrik (für Zeilenumbrüche, Ausrichtung usw.) zu berechnen und die Schriftart korrekt darzustellen, muss die Schriftart in der JVM (Java Virtual Macchine) zugeordnet werden. Sie können die Schriftartdatei direkt in der JVM installieren. Dies ist jedoch nicht ermutigend

Aus dem JasperReport Ultimate Guide:

Es wird dringend empfohlen, nur von Schrifterweiterungen abgeleitete Schriftarten zu verwenden, da nur so sichergestellt werden kann, dass die Schriftarten für die Anwendung verfügbar sind, wenn die Berichte zur Laufzeit ausgeführt werden. Die Verwendung von Systemzeichensätzen birgt immer das Risiko, dass die Berichte nicht ordnungsgemäß funktionieren, wenn sie auf einem neuen Computer bereitgestellt werden, auf dem diese Zeichensätze möglicherweise nicht installiert sind

Standardschrifterweiterung

JasperReports bieten eine Standardschrifterweiterung (siehe Maven-Distribution "jasperreports-fonts.jar"). Wenn Sie dies zu Classpath hinzufügen, können Sie die folgenden fontName verwenden, ohne Ihre eigene Font-Erweiterung zu erstellen

DejaVu Sans
DejaVu Serif
DejaVu ohne Mono

Häufige Probleme

Probleme, die bei der Verwendung von Schriftarten in pdf (itext) zu berücksichtigen sind:

  • Wenn beim Exportieren in PDF der Text nicht korrekt dargestellt wird (fehlende Teile, Zeichen nicht angezeigt, nicht korrekt umbrochen oder die Größe korrekt eingestellt), fehlen wahrscheinlich die Schrift-Erweiterungen .

  • Ist die tatsächliche .tff unterstützt ( Opentype ) und kann die Schrift tatsächlich den Charakter machen? Nicht alle Schriftarten rendern alle Zeichen in UTF-8 .

  • Ist die richtige Kodierung an iText übergeben? In Zweifelsfällen (oder allgemein) verwenden Sie die Kodierung Identity-H dies wird für neuere PDF-Standards empfohlen und gibt Ihnen die Möglichkeit, verschiedene Kodierungen zu mischen.

  • Ist die Schrift so eingebettet , dass ein von mehreren Computern freigegebenes PDF den Inhalt anzeigen kann, auch wenn die Schrift nicht installiert ist? Wenn es sich bei der Schriftart nicht um eine der 14 Standard Type 1-Schriftarten handelt, muss sie immer eingebettet werden.

Beachten Sie, dass die von jasper report verwendete Version von iText nicht alle Schriftarten ( Ligaturizer-Problem ) ttf Sie können die ttf Schrift und die Kodierung direkt testen.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow