Maison > développement back-end > C++ > Comment puis-je extraire du texte non anglais à partir de PDF à l'aide d'iTextSharp et gérer les problèmes d'encodage ?

Comment puis-je extraire du texte non anglais à partir de PDF à l'aide d'iTextSharp et gérer les problèmes d'encodage ?

DDD
Libérer: 2025-01-11 07:28:42
original
199 Les gens l'ont consulté

How Can I Extract Non-English Text from PDFs using iTextSharp and Handle Encoding Issues?

Utiliser iTextSharp en C# pour extraire du contenu PDF : résoudre les problèmes de caractères non anglais

Cet article aborde le défi de l'extraction de texte non anglais à partir de fichiers PDF à l'aide d'iTextSharp en C#. Le problème se manifeste souvent par un texte tronqué lorsqu'il s'agit de langues comme le persan ou l'arabe.

Comprendre l'origine du problème

La cause première réside dans une conversion d'encodage inutile :

<code class="language-csharp">currentText = Encoding.UTF8.GetString(Encoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.UTF8.GetBytes(currentText)));</code>
Copier après la connexion

Ce code convertit le texte en un tableau d'octets UTF-8, puis le reconvertit en chaîne UTF-8 : un processus redondant qui corrompt par inadvertance les caractères en dehors de la plage ASCII de base (0-127).

La solution : un encodage simplifié

La solution est simple : supprimez l’étape d’encodage redondante. Le code corrigé est :

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

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

        // ... (rest of the code remains unchanged) ...
    }
    return text.ToString();
}</code>
Copier après la connexion

Autres points à noter

Pour un affichage correct, vérifiez que le moteur de rendu de votre application prend en charge Unicode. L'utilisation de la dernière version d'iTextSharp (actuellement 5.2.0.0) est recommandée pour des performances optimales.

Gestion du texte de droite à gauche

Bien que le code corrigé résolve les problèmes d'encodage, les langues s'écrivant de droite à gauche (comme l'arabe et l'hébreu) ​​peuvent encore présenter un défi. Le texte extrait peut apparaître dans le mauvais ordre. Cela semble être une limitation du format PDF lui-même, et une réorganisation manuelle peut être nécessaire en fonction de la langue spécifique.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal