Heim >Backend-Entwicklung >C++ >Wie kann ich mit iTextSharp in C# nicht-englischen Text aus PDFs extrahieren, ohne dass die Ausgabe verstümmelt wird?

Wie kann ich mit iTextSharp in C# nicht-englischen Text aus PDFs extrahieren, ohne dass die Ausgabe verstümmelt wird?

DDD
DDDOriginal
2025-01-11 06:36:41632Durchsuche

How Can I Extract Non-English Text from PDFs Using iTextSharp in C# Without Garbled Output?

Verwenden Sie iTextSharp, um nicht-englische PDF-Inhalte zu lesen

Bei der Verwendung von iTextSharp in C# zum Extrahieren von Text aus PDF-Dokumenten können Benutzer auf Probleme stoßen, wenn der Inhalt in einer nicht englischen Sprache vorliegt (z. B. Farsi oder Arabisch). Dies kann zu verstümmeltem Text führen, da die integrierten Kodierungsmethoden diese Zeichensätze nicht verarbeiten können.

Um dieses Problem zu beheben, vermeiden Sie unbedingt unnötige Kodierungskonvertierungen für aus PDF erhaltenen Text. In iTextSharp extrahiert die Methode PdfTextExtractor.GetTextFromPage() Rohtext aus einer PDF-Seite. Die Konvertierung nach Unicode sollte später kontrolliert erfolgen.

Das bereitgestellte Code-Snippet versucht, Encoding.UTF8 zu verwenden, um den Text neu zu kodieren, was der falsche Ansatz ist. Der folgende vereinfachte Codeausschnitt veranschaulicht den richtigen Ansatz:

<code class="language-csharp">public string ReadPdfFileWithoutEncoding(string fileName)
{
    StringBuilder text = new StringBuilder();

    if (File.Exists(fileName))
    {
        PdfReader pdfReader = new PdfReader(fileName);

        for (int page = 1; page <= pdfReader.NumberOfPages; page++)
        {
            text.Append(PdfTextExtractor.GetTextFromPage(pdfReader, page));
        }
        pdfReader.Close();
    }

    return text.ToString();
}</code>

Bitte beachten Sie, dass es wichtig ist, sicherzustellen, dass Ihre Anwendung die neueste Version von iTextSharp verwendet. Bei älteren Versionen kann es zu Einschränkungen bei der Verarbeitung nicht-englischer Texte kommen. Darüber hinaus muss die Anwendung, die für die Anzeige des extrahierten Textes verantwortlich ist, Unicode-Zeichen unterstützen.

Das obige ist der detaillierte Inhalt vonWie kann ich mit iTextSharp in C# nicht-englischen Text aus PDFs extrahieren, ohne dass die Ausgabe verstümmelt wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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