Maison >développement back-end >C++ >Comment puis-je extraire du texte non anglais à partir de PDF à l'aide d'iTextSharp en C# sans sortie tronquée ?

Comment puis-je extraire du texte non anglais à partir de PDF à l'aide d'iTextSharp en C# sans sortie tronquée ?

DDD
DDDoriginal
2025-01-11 06:36:41672parcourir

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

Utilisez iTextSharp pour lire du contenu PDF dans une autre langue que l'anglais

Lors de l'utilisation d'iTextSharp en C# pour extraire du texte à partir de documents PDF, les utilisateurs peuvent rencontrer des problèmes si le contenu est dans une langue autre que l'anglais (comme le farsi ou l'arabe). Cela peut entraîner un texte tronqué car les méthodes de codage intégrées ne peuvent pas gérer ces jeux de caractères.

Pour résoudre ce problème, veillez à éviter d'effectuer des conversions d'encodage inutiles sur le texte obtenu à partir d'un PDF. Dans iTextSharp, la méthode PdfTextExtractor.GetTextFromPage() extrait le texte brut d'une page PDF. La conversion vers Unicode doit être effectuée ultérieurement de manière contrôlée.

L'extrait de code fourni tente d'utiliser Encoding.UTF8 pour réencoder le texte, ce qui est une mauvaise approche. L'extrait de code simplifié suivant illustre l'approche correcte :

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

Veuillez noter qu'il est important de vous assurer que votre application utilise la dernière version d'iTextSharp. Les anciennes versions peuvent avoir des limitations dans la gestion des textes non anglais. De plus, l'application chargée d'afficher le texte extrait doit prendre en charge les caractères Unicode.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn