Die Generierung von PDF aus HTML mit nicht lateinischen Zeichen mithilfe von ITextRenderer funktioniert nicht

8

Dies ist der zweite Tag, an dem ich ohne Ergebnisse forsche. Zumindest kann ich jetzt etwas sehr Spezifisches fragen.

Ich versuche, mit iText einen gültigen HTML-Code zu schreiben, der einige nicht-lateinische Zeichen in einer PDF-Datei enthält, und genauer gesagt ITextRenderer von Fliegende Untertasse .

Mein kurzes Beispiel / Code beginnt mit der Initialisierung einer Zeichenkettenvariablen doc mit diesem Wert:

%Vor%

Hier ist der Code, den ich für Debugging-Zwecke verwende. Ich speichere diese Zeichenfolge in HTML-Datei und öffne sie dann über einen Browser, nur um zu überprüfen, dass HTML-Inhalt gültig ist und ich noch griechische Zeichen lesen kann:

%Vor%

Als nächstes versuchen Sie, diesen Wert in die PDF-Datei zu schreiben. Das ist mein Code:

%Vor%

Das Endergebnis meines Codes ist:

In der HTML-Datei bekomme ich: Einige griechische Zeichen: Καλημέρα Einige griechische Zeichen (erwartet)

In PDF-Datei Ich bekomme: Einige griechische Zeichen: Einige griechische Zeichen ( unerwartet - griechische Zeichen werden ignoriert !!)

Abhängigkeiten:

  • Java-Version "1.6.0_27"

  • itext-2.0.8.jar

  • de.huxhorn.lilith.3rdparty.flyingsaucer.core-renderer-8Pre2.jar

Ich habe auch mit viel mehr Schriften experimentiert, aber ich vermute, dass mein Problem nichts mit falschen Schriften zu tun hat. Jede Hilfe ist mehr als willkommen.

Danke

    
alexandros 20.04.2012, 17:13
quelle

3 Antworten

9

Ich komme aus der Tschechischen Republik und hatte dasselbe Problem mit unseren nationalen Symbolen! Nach einigem Suchen habe ich es mit dieser Lösung gelöst.

Speziell mit (was Sie bereits haben):

%Vor%

und dann wichtiger Teil in CSS:

%Vor%

Es scheint mir, ohne dass CSS, Ihre Schriften nicht verwendet werden. Wenn ich diese Zeilen aus CSS entferne, wird die Codierung erneut unterbrochen.

Hoffe, das wird helfen!

    
ArcanisCz 09.07.2012 16:20
quelle
4

Fügen Sie Ihrem HTML etwas wie folgt hinzu:

%Vor%

und fügen Sie dann FontResolver zu ITextRenderer in Java-Code hinzu:

%Vor%

funktioniert hervorragend für kroatische Charaktere

jars zum Erzeugen von PDF sind:

%Vor%     
C2V3N 02.12.2013 10:01
quelle
0

Lassen Sie iText eine Header-Information aus Ihrem HTML-Inhalt lesen, die utf-8 content enthält.
Fügen Sie meta tag für content-type in HTML-Code mit utf-8 charset encoding hinzu und führen Sie iText aus, um PDF zu generieren und das Ergebnis zu überprüfen.

%Vor%

Aktualisieren :
Wenn das Obige nicht funktioniert, dann beziehen Sie sich auf ENCODING VERSUS THE DEFAULT CHARSET USED BY THE JVM in dem Dokument, das unter Ссылка

veröffentlicht wurde     
Ravinder Reddy 20.04.2012 19:29
quelle