Tips & Tricks

Comment OCR correctement un PDF en langue de droite à gauche

Les moteurs OCR PDF sont construits autour d'un flux de texte de gauche à droite. Lorsque vous leur fournissez un document écrit dans une écriture de droite à gauche telle que l'arabe, l'hébreu, le persan ou l'ourdou, le moteur doit détecter la direction de l'écriture, reconnaître les caractères dans l'ordre visuel et logique correct et produire un texte qui se lit naturellement dans la langue cible. Une erreur dans l'une de ces étapes produit un texte techniquement reconnu mais fonctionnellement inutilisable : des mots épelés à l'envers, des phrases qui commencent à la fin et des chiffres qui apparaissent du mauvais côté du texte environnant.

Une OCR correcte pour les langues s'écrivant de droite à gauche nécessite de sélectionner un moteur OCR qui prend explicitement en charge le script cible, de le configurer avec le paramètre de langue correct et de vérifier la sortie via des outils de reconnaissance de texte bidirectionnels. Le processus n'est pas matériellement plus difficile que l'OCR pour les langues s'écrivant de gauche à droite, mais l'étape de configuration que de nombreux utilisateurs sautent, indiquant au moteur à quelle langue s'attendre, n'est pas facultative pour les scripts s'écrivant de droite à gauche. Un moteur laissé sur ses paramètres par défaut, généralement en anglais, produira une sortie absurde à partir d'un document en arabe ou en hébreu.

Les outils OCR Scanned PDF de WukongPDF prennent en charge plusieurs langues, y compris les scripts de droite à gauche. Sélectionner la bonne langue avant d'exécuter l'OCR fait la différence entre extraire du texte utilisable et générer du bruit de caractères.

How to OCR a Right-to-Left Language PDF Correctly

Pourquoi l'OCR de droite à gauche échoue sans configuration explicite

Les moteurs OCR analysent les formes et les mappent aux caractères du jeu de caractères de la langue spécifiée. Lorsque le moteur attend l'anglais, il interprète les formes comme des lettres latines. La lettre arabe pour B ressemble quelque peu à la lettre latine B dans de nombreuses polices, mais la lettre arabe pour Ayn n'a pas d'équivalent latin. Un moteur en mode anglais rencontrant Ayn génère un signe de ponctuation aléatoire ou ignore complètement le caractère. Dans un document complet, cette mauvaise reconnaissance caractère par caractère produit un résultat sans relation avec le texte original.

Même lorsque le bon script est sélectionné, la direction du texte introduit un deuxième niveau de complexité. Les moteurs OCR traitent les images de gauche à droite par défaut, en se déplaçant sur chaque rangée de pixels du bord gauche vers le bord droit. Un document écrit de droite à gauche doit être traité de droite à gauche afin que le moteur lise les caractères dans l'ordre dans lequel ils ont été écrits. Si le moteur n'inverse pas le sens de traitement pour les scripts de droite à gauche, les caractères reconnus seront dans l'ordre inverse au sein de chaque mot. Certains moteurs gèrent automatiquement l'inversion de direction lorsque le paramètre de langue est défini. D'autres nécessitent un indicateur de direction de texte explicite.

WukongPDF

Essayez l'OCR PDF

Aucune installation nécessaire. Fonctionne directement dans votre navigateur.

Commencer →

Configuration de Tesseract pour l'OCR de droite à gauche

Tesseract, le moteur OCR open source, prend en charge l'arabe, l'hébreu, le persan, l'ourdou et plusieurs autres scripts de droite à gauche via des fichiers de données spécifiques à une langue. Installez les données de langue pour le script cible. Sous Linux, le package est généralement nommé tesseract-ocr-ara pour l'arabe ou tesseract-ocr-heb pour l'hébreu. Sous Windows, téléchargez le fichier de données entraînées à partir du référentiel Tesseract GitHub et placez-le dans le répertoire tessdata.

Exécutez Tesseract avec l'indicateur de langue défini sur le script correct : tesseract input.pdf output -l ara pour l'arabe, -l heb pour l'hébreu ou -l ara+eng pour un document bilingue arabe-anglais. Tesseract gère automatiquement la direction du texte lorsque le paramètre de langue spécifie un script de droite à gauche. La sortie de texte reconnue préserve l'ordre de lecture correct. Pour vérifier, ouvrez le fichier texte de sortie et confirmez que les mots se lisent dans le sens attendu et que les phrases s'écoulent de droite à gauche.

Pour les documents avec des écritures mixtes, comme un document de recherche en arabe contenant des termes techniques anglais, spécifiez les deux langues séparées par un signe plus : -l ara+eng. Tesseract bascule entre les modèles linguistiques mot par mot, en appliquant le modèle arabe aux mots en écriture arabe et le modèle anglais aux mots en écriture latine. La commutation par mot n'est pas parfaite, en particulier sur les mots courts pouvant appartenir à l'une ou l'autre écriture, mais elle gère de manière adéquate la majorité des documents à écriture mixte.

Utilisation de Google Cloud Vision pour la détection automatique

Les fonctionnalités OCR de Google Cloud Vision incluent la détection automatique de la langue, ce qui est particulièrement utile pour les scripts s'écrivant de droite à gauche lorsque vous n'êtes pas certain de la langue exacte ou lorsque le document contient plusieurs langues s'écrivant de droite à gauche. L'API accepte une image de document et renvoie le texte reconnu avec des cadres de délimitation pour chaque mot, la langue détectée pour chaque bloc de texte et le sens du texte. Pour les scripts de droite à gauche, le texte renvoyé est déjà dans le bon ordre de lecture.

La qualité de reconnaissance de l'arabe et de l'hébreu de Cloud Vision est généralement supérieure à celle de Tesseract, car les modèles sous-jacents ont été entraînés sur des ensembles de données plus vastes et plus diversifiés. Le compromis est que l'image du document doit être téléchargée sur les serveurs de Google pour traitement, ce qui peut ne pas être acceptable pour les documents sensibles ou confidentiels. Pour les documents accessibles au public ou les documents internes pour lesquels le traitement dans le cloud est approuvé, Cloud Vision fournit l'OCR de droite à gauche la plus précise disponible sans avoir à acheter un logiciel OCR de bureau spécialisé.

LangueSupport moteur OCRNotes de précision
arabeTesseract, Google Cloud Vision, ABBYYLes signes diacritiques peuvent être supprimés, la manipulation des ligatures varie
hébreuTesseract, Google Cloud Vision, ABBYYPoints de voyelle Nikud souvent perdus lors de l'OCR
persan/ourdouTesseract, Google Cloud VisionLes variantes du script Nastaliq défient la plupart des moteurs

Vérification de la sortie OCR pour le texte de droite à gauche

Après l'OCR, ouvrez le texte reconnu dans un éditeur de texte prenant en charge le rendu de texte bidirectionnel, tel que Notepad++ avec le plugin bidirectionnel activé ou Visual Studio Code avec un pack de langue RTL installé. Les éditeurs de texte standard qui supposent un texte de gauche à droite peuvent afficher correctement le texte de droite à gauche si l'algorithme bidirectionnel Unicode est implémenté, mais les signes de ponctuation aux extrémités des lignes et l'ordre relatif des nombres dans le texte sont des points d'échec courants. Un éditeur de texte avec prise en charge bidirectionnelle explicite affiche le texte tel qu'un locuteur natif s'attendrait à le lire.

Vérifiez ponctuellement le résultat par rapport au document original numérisé à trois niveaux : les mots individuels, en particulier ceux contenant des signes diacritiques ou des ligatures ; des phrases complètes, confirmant que l'ordre des mots se lit naturellement dans la langue cible ; ainsi que des chiffres et des dates, confirmant qu'ils apparaissent du bon côté du texte environnant. Un document dans lequel chaque mot est reconnu correctement mais où l'ordre des mots est inversé dans chaque phrase est aussi inutilisable pour la traduction ou la recherche qu'un document dans lequel aucun mot n'est reconnu.

L'OCR pour les langues s'écrivant de droite à gauche est un problème technique résolu lorsque le paramètre de langue correct est défini. L'étape la plus importante consiste à indiquer au moteur à quel script s'attendre. Tout en aval de cette décision, de la précision de la reconnaissance à l'ordre de lecture en passant par la gestion des scripts mixtes, dépend de la bonne configuration du langage. Avec le paramètre de langue configuré et un éditeur de texte bidirectionnel ouvert pour vérification, l'OCR pour un document rédigé dans une langue de droite à gauche ne prend pas plus de temps ni d'efforts que l'OCR pour toute autre langue.

Traduction post-OCR du texte en langue de droite à gauche

Une fois le texte reconnu avec précision, la traduction du contenu linguistique de droite à gauche nécessite un moteur de traduction capable de gérer correctement le texte bidirectionnel. Google Translate et DeepL prennent tous deux en charge l'arabe, l'hébreu et le persan. Collez le texte reconnu dans l'interface de traduction et confirmez que la langue source est correctement identifiée. Le moteur de traduction détecte la direction du script et la conserve dans la sortie. Pour les documents dont la traduction sera révisée par un locuteur natif, exportez côte à côte le texte original reconnu et le texte traduit dans un tableau à deux colonnes pour une comparaison efficace.

La traduction automatique de langues s'écrivant de droite à gauche est généralement moins précise que la traduction entre langues européennes de gauche à droite, car les données d'entraînement pour de nombreuses paires de langues de droite à gauche sont plus petites. Pour les documents critiques, demandez à un locuteur natif de réviser la traduction avant d'agir sur son contenu. L'étape OCR produit un texte source précis. L’étape de traduction ajoute une couche d’interprétation. Traitez le résultat de l'OCR comme une vérité terrain sur ce que dit le document, et la traduction automatique comme un guide de ce qu'il signifie, sous réserve de vérification.

Traitement par lots de fichiers PDF en langue de droite à gauche

Lorsque vous disposez d'un dossier de fichiers PDF rédigés de droite à gauche vers OCR, l'interface de ligne de commande de Tesseract accepte la saisie par lots. Une seule commande shell traite chaque PDF : for f dans *.pdf ; faire tesseract $f ${f%.pdf} -l ara; fait. La commande parcourt tous les PDF, exécute l'OCR avec le modèle arabe et enregistre le texte reconnu à côté de chaque PDF avec les noms de fichiers de base correspondants.

Pour les lots multilingues, utilisez une étape de détection de langue avant l’OCR. Un script Python avec la bibliothèque langdetect échantillonne la première page de texte pour prédire la langue. Sur la base de la prédiction, le script sélectionne le paramètre de langage Tesseract approprié et exécute l'OCR. La détection automatisée de la langue élimine le tri manuel des PDF par langue avant le traitement par lots. L'OCR par lots pour les langues s'écrivant de droite à gauche transforme un processus fastidieux par document en une seule commande qui s'exécute en quelques minutes, quel que soit le nombre de documents présents dans le dossier d'entrée.

L'OCR pour les langues s'écrivant de droite à gauche n'est pas un cas particulier nécessitant des outils exotiques. Il nécessite les mêmes outils que l'OCR de gauche à droite, configurés avec le paramètre de langue correct. L'étape de configuration que de nombreux utilisateurs sautent parce qu'ils supposent que les paramètres par défaut de l'OCR fonctionneront est toute la différence entre le texte extrait utilisable et le bruit complet des caractères. Définissez l'indicateur de langue, exécutez l'OCR, vérifiez le résultat dans un éditeur de texte bidirectionnel et le processus est terminé. L'OCR pour les scripts de droite à gauche récompense l'utilisateur qui prend le temps de configurer correctement le paramètre de langue et vérifie le résultat dans un éditeur de texte bidirectionnel, produisant un texte précis et utilisable à partir de documents qui autrement resteraient inaccessibles à toute personne ne lisant pas la langue source.

WukongPDF

Essayez l'OCR PDF

Aucune installation nécessaire. Fonctionne directement dans votre navigateur.

Commencer →