Heim > Backend-Entwicklung > C++ > Wie werden mittel- und osteuropäische Zeichen in iTextSharp-PDFs korrekt angezeigt?

Wie werden mittel- und osteuropäische Zeichen in iTextSharp-PDFs korrekt angezeigt?

Mary-Kate Olsen
Freigeben: 2025-01-13 21:45:49
Original
676 Leute haben es durchsucht

How to Display Central and Eastern European Characters Correctly in iTextSharp PDFs?

iTextSharp PDF: Umgang mit mittel- und osteuropäischen Zeichen

Diese Anleitung befasst sich mit dem häufigen Problem der falschen Anzeige mittel- und osteuropäischer Zeichen (z. B. „Č“, „Ć“) in PDFs, die mit iTextSharp generiert wurden.

Das Problem: Das Generieren von PDFs mit diesen Zeichen führt häufig zu Darstellungsfehlern.

Ursachen: Mehrere Faktoren können dies verursachen:

  • Falsche Codepage:Möglicherweise wurde die falsche Codepage ausgewählt.
  • Zeichenkodierung:Unsachgemäßer Umgang mit Sonderzeichen im Code.
  • Unterstützung von Schriftartglyphen: Der ausgewählten Schriftart fehlen möglicherweise die erforderlichen Glyphen für diese Zeichen.
  • Einbettung von Schriftarten:Die Schriftart ist möglicherweise nicht in die PDF-Datei eingebettet.
  • Kodierungsdefinition: Die Kodierung der Schriftart ist möglicherweise nicht richtig definiert.

Die Lösung: Ein schrittweiser Ansatz

  1. Genaue Codepage-Auswahl:Verwenden Sie die richtige Codepage für die jeweilige Sprache und den richtigen Zeichensatz (z. B. „Cp1250“ für Tschechisch).

  2. Unicode-Escape-Sequenzen:Anstatt wörtliche Sonderzeichen zu verwenden, verwenden Sie Unicode-Escape-Sequenzen für eine konsistente Codierungsbehandlung.

  3. Glyphenunterstützende Schriftart: Wählen Sie eine Schriftart (wie Arial.ttf oder FreeSans.ttf), die die erforderlichen Glyphen enthält.

  4. Einbettung von Schriftarten: Stellen Sie sicher, dass die Schriftart in das PDF eingebettet ist (setzen Sie den Parameter „eingebettet“ auf true), um eine korrekte Anzeige zu gewährleisten, auch wenn die Schriftart auf dem System des Empfängers nicht verfügbar ist.

  5. Definition der Schriftartenkodierung: Definieren Sie explizit die für die Glypheninterpretation verwendete Kodierung. Zu den Optionen gehören die Angabe der Codepage oder die Verwendung von Unicode für horizontales Schreiben (z. B. „Cp1250“, BaseFont.IDENTITY_H).

Codebeispiel (anschaulich):

<code class="language-csharp">using iTextSharp.text;
using iTextSharp.text.pdf;

public class CEECharacterExample
{
    public void CreatePdf(string destination)
    {
        Document document = new Document();
        PdfWriter.GetInstance(document, new FileOutputStream(destination));
        document.Open();

        // Font with glyph support and code page
        Font fontCp1250 = FontFactory.GetFont("resources/fonts/FreeSans.ttf", "Cp1250", true);

        // Font with Unicode encoding
        Font fontUnicode = FontFactory.GetFont("resources/fonts/FreeSans.ttf", BaseFont.IDENTITY_H, true);

        // Paragraphs using different encodings
        Paragraph paragraphCp1250 = new Paragraph("Testing characters: \u010c, \u0106, \u0160, \u017d, \u0110", fontCp1250);
        Paragraph paragraphUnicode = new Paragraph("Testing characters: \u010c, \u0106, \u0160, \u017d, \u0110", fontUnicode);

        // Add paragraphs to the document
        document.Add(paragraphCp1250);
        document.Add(paragraphUnicode);

        document.Close();
    }
}</code>
Nach dem Login kopieren

Durch die Implementierung dieser Schritte sollten Sie die Probleme mit der Zeichenanzeige in Ihren iTextSharp-PDFs beheben. Denken Sie daran, "resources/fonts/FreeSans.ttf" durch den tatsächlichen Pfad zu Ihrer Schriftartdatei zu ersetzen.

Das obige ist der detaillierte Inhalt vonWie werden mittel- und osteuropäische Zeichen in iTextSharp-PDFs korrekt angezeigt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage