OCR PDF-engines zijn gebouwd rond tekststroom van links naar rechts. Wanneer u ze een document geeft dat is geschreven in een van rechts naar links geschreven schrift, zoals Arabisch, Hebreeuws, Perzisch of Urdu, moet de engine de scriptrichting detecteren, tekens in de juiste visuele en logische volgorde herkennen en tekst uitvoeren die op natuurlijke wijze in de doeltaal leest. Als u een van deze stappen verkeerd uitvoert, ontstaat tekst die technisch wordt herkend maar functioneel onbruikbaar is: woorden die achterstevoren zijn gespeld, zinnen die aan het einde beginnen en cijfers die aan de verkeerde kant van de omringende tekst verschijnen.
Correcte OCR voor talen die van rechts naar links worden geschreven, vereist het selecteren van een OCR-engine die het doelscript expliciet ondersteunt, het configureren ervan met de juiste taalparameter en het verifiëren van de uitvoer via bidirectionele tekstbewuste tools. Het proces is niet wezenlijk moeilijker dan OCR voor talen van links naar rechts, maar de configuratiestap die veel gebruikers overslaan, waarbij de engine wordt verteld welke taal ze kunnen verwachten, is niet optioneel voor scripts van rechts naar links. Een engine die op de standaardinstellingen blijft staan, meestal Engels, zal onzinuitvoer produceren uit een Arabisch of Hebreeuws document.
De Gescande PDF OCR-tools van WukongPDF ondersteunen meerdere talen, waaronder rechts-naar-links-scripts. Het selecteren van de juiste taal voordat OCR wordt uitgevoerd, is het verschil tussen het extraheren van bruikbare tekst en het genereren van karakterruis.

Waarom rechts-naar-links OCR mislukt zonder expliciete configuratie
OCR-engines analyseren vormen en wijzen deze toe aan tekens in de tekenset van de opgegeven taal. Wanneer de engine Engels verwacht, interpreteert hij vormen als Latijnse letters. De Arabische letter voor B lijkt in veel lettertypen enigszins op de Latijnse letter B, maar de Arabische letter voor Ayn heeft geen Latijns equivalent. Een engine in de Engelse modus die Ayn tegenkomt, voert een willekeurig leesteken uit of slaat het personage volledig over. In een volledig document levert deze foutieve herkenning van teken tot teken uitvoer op die geen relatie heeft met de originele tekst.
Zelfs als het juiste script is geselecteerd, introduceert de tekstrichting een tweede laag van complexiteit. OCR-engines verwerken afbeeldingen standaard van links naar rechts, waarbij ze over elke rij pixels bewegen, van de linkerrand naar de rechterrand. Een van rechts naar links geschreven document moet van rechts naar links worden verwerkt, zodat de engine de tekens leest in de volgorde waarin ze zijn geschreven. Als de engine de verwerkingsrichting voor rechts-naar-links-scripts niet omkeert, staan de herkende tekens binnen elk woord in omgekeerde volgorde. Sommige motoren verwerken de richtingsomkering automatisch wanneer de taalparameter is ingesteld. Anderen vereisen een expliciete tekstrichtingsvlag.
Probeer PDF-OCR
Geen installatie nodig. Werkt rechtstreeks in uw browser.
Tesseract configureren voor OCR van rechts naar links
Tesseract, de open-source OCR-engine, ondersteunt Arabisch, Hebreeuws, Perzisch, Urdu en verschillende andere rechts-naar-links-scripts via taalspecifieke gegevensbestanden. Installeer de taalgegevens voor het doelscript. Op Linux heet het pakket doorgaans tesseract-ocr-ara voor Arabisch of tesseract-ocr-heb voor Hebreeuws. Download in Windows het getrainde gegevensbestand uit de Tesseract GitHub-repository en plaats het in de tessdata-directory.
Voer Tesseract uit met de taalvlag ingesteld op het juiste script: tesseract input.pdf output -l ara voor Arabisch, -l heb voor Hebreeuws, of -l ara+eng voor een tweetalig Arabisch-Engels document. Tesseract verwerkt de tekstrichting automatisch wanneer de taalparameter een rechts-naar-links-script specificeert. De herkende tekstuitvoer behoudt de juiste leesvolgorde. Ter verificatie opent u het uitvoertekstbestand en bevestigt u dat de woorden in de verwachte richting worden gelezen en dat de zinnen van rechts naar links lopen.
Voor documenten met gemengde scripts, zoals een Arabisch onderzoeksartikel dat Engelse technische termen bevat, specificeert u beide talen, gescheiden door een plusteken: -l ara+eng. Tesseract schakelt per woord tussen de taalmodellen, waarbij het Arabische model wordt toegepast op woorden in het Arabische schrift en het Engelse model op woorden in het Latijnse schrift. De omschakeling per woord is niet perfect, vooral niet bij korte woorden die tot een van beide scripts kunnen behoren, maar het verwerkt de meeste documenten met gemengd script adequaat.
Google Cloud Vision gebruiken voor automatische detectie
De OCR-mogelijkheden van Google Cloud Vision omvatten automatische taaldetectie, wat vooral handig is voor rechts-naar-links-scripts wanneer u niet zeker bent van de exacte taal of wanneer het document meerdere rechts-naar-links-talen bevat. De API accepteert een documentafbeelding en retourneert herkende tekst met selectiekaders voor elk woord, de gedetecteerde taal voor elk tekstblok en de tekstrichting. Voor scripts die van rechts naar links worden geschreven, staat de geretourneerde tekst al in de juiste leesvolgorde.
De Arabische en Hebreeuwse herkenningskwaliteit van Cloud Vision is over het algemeen hoger dan die van Tesseract, omdat de onderliggende modellen zijn getraind op grotere en meer diverse datasets. Het nadeel is dat de documentafbeelding voor verwerking naar de servers van Google moet worden geüpload, wat mogelijk niet acceptabel is voor gevoelige of vertrouwelijke documenten. Voor openbaar beschikbare documenten of interne documenten waarvoor cloudverwerking is goedgekeurd, biedt Cloud Vision de meest nauwkeurige rechts-naar-links OCR die beschikbaar is zonder de aanschaf van gespecialiseerde desktop-OCR-software.
| Taal | OCR-engineondersteuning | Nauwkeurigheidsopmerkingen |
|---|---|---|
| Arabisch | Tesseract, Google Cloud Vision, ABBYY | Diakritische tekens kunnen worden weggelaten, de verwerking van ligaturen varieert |
| Hebreeuws | Tesseract, Google Cloud Vision, ABBYY | Nikud-klinkerpunten gaan vaak verloren tijdens OCR |
| Perzisch/Urdu | Tesseract, Google Cloud Vision | Nastaliq-scriptvarianten dagen de meeste zoekmachines uit |
OCR-uitvoer verifiëren voor tekst van rechts naar links
Open na OCR de herkende tekst in een teksteditor die bidirectionele tekstweergave ondersteunt, zoals Notepad++ met de bidirectionele plug-in ingeschakeld of Visual Studio Code met een RTL-taalpakket geïnstalleerd. Standaard teksteditors die uitgaan van tekst van links naar rechts, kunnen tekst van rechts naar links correct weergeven als het bidirectionele Unicode-algoritme is geïmplementeerd, maar leestekens aan het einde van regels en de relatieve volgorde van cijfers in tekst zijn veel voorkomende foutpunten. Een teksteditor met expliciete bidirectionele ondersteuning toont de tekst zoals een moedertaalspreker deze zou verwachten te lezen.
Controleer de uitvoer op drie niveaus ten opzichte van het originele gescande document: individuele woorden, vooral woorden die diakritische tekens of ligaturen bevatten; volledige zinnen, wat bevestigt dat de woordvolgorde op natuurlijke wijze leest in de doeltaal; en cijfers en datums, waarmee wordt bevestigd dat ze aan de juiste kant van de omringende tekst verschijnen. Een document waarin elk woord correct wordt herkend, maar de woordvolgorde binnen elke zin wordt omgekeerd, is net zo onbruikbaar voor vertaling of zoeken als een document waarin helemaal geen woorden worden herkend.
OCR voor talen die van rechts naar links worden geschreven is een opgelost technisch probleem als de juiste taalparameter is ingesteld. De allerbelangrijkste stap is de engine vertellen welk script hij kan verwachten. Alles stroomafwaarts van die beslissing, van de nauwkeurigheid van de herkenning tot de leesvolgorde en de afhandeling van gemengde scripts, hangt af van de juiste taalconfiguratie. Als de taalparameter is geconfigureerd en er een bidirectionele teksteditor is geopend voor verificatie, kost OCR voor een document in een van rechts naar links geschreven taal niet meer tijd of moeite dan OCR voor een andere taal.
Post-OCR-vertaling van tekst van rechts naar links
Zodra de tekst nauwkeurig wordt herkend, vereist het vertalen van inhoud van rechts naar links een vertaalmachine die bidirectionele tekst correct verwerkt. Google Translate en DeepL ondersteunen beide Arabisch, Hebreeuws en Perzisch. Plak de herkende tekst in de vertaalinterface en bevestig dat de brontaal correct is geïdentificeerd. De vertaalengine detecteert de scriptrichting en bewaart deze in de uitvoer. Voor documenten waarbij de vertaling door een moedertaalspreker wordt beoordeeld, exporteert u zowel de origineel herkende tekst als de vertaalde tekst naast elkaar in een tabel met twee kolommen voor een efficiënte vergelijking.
Machinevertaling van rechts-naar-links-talen is over het algemeen minder nauwkeurig dan vertaling tussen links-naar-rechts Europese talen, omdat de trainingsgegevens voor veel rechts-naar-links-talenparen kleiner zijn. Laat bij cruciale documenten een moedertaalspreker de vertaling beoordelen voordat u actie onderneemt op de inhoud. De OCR-stap produceert nauwkeurige brontekst. De vertaalstap voegt een interpretatielaag toe. Beschouw de OCR-uitvoer als fundamentele waarheid over wat het document zegt, en de automatische vertaling als leidraad voor wat het betekent, onder voorbehoud van verificatie.
Batchverwerking van rechts naar links geschreven pdf's
Wanneer u een map met rechts-naar-links-taal-PDF's voor OCR hebt, accepteert de opdrachtregelinterface van Tesseract batchinvoer. Eén enkel shell-commando verwerkt elke PDF: for f in *.pdf; doe tesseract $f ${f%.pdf} -l ara; klaar. De opdracht doorloopt alle PDF's, voert OCR uit volgens het Arabische model en slaat herkende tekst naast elke PDF op met bijpassende basisbestandsnamen.
Voor batches met meerdere talen gebruikt u een taaldetectiestap vóór OCR. Een Python-script met de langdetect-bibliotheek bemonstert de eerste pagina met tekst om de taal te voorspellen. Op basis van de voorspelling selecteert het script de juiste Tesseract-taalparameter en voert OCR uit. Geautomatiseerde taaldetectie elimineert het handmatig sorteren van PDF's op taal vóór batchverwerking. Batch-OCR voor talen die van rechts naar links worden geschreven, transformeert een moeizaam proces per document in één enkele opdracht die binnen enkele minuten wordt voltooid, ongeacht hoeveel documenten zich in de invoermap bevinden.
OCR voor talen van rechts naar links is geen speciaal geval waarvoor exotische hulpmiddelen nodig zijn. Het vereist dezelfde tools als OCR van links naar rechts, geconfigureerd met de juiste taalparameter. De configuratiestap die veel gebruikers overslaan omdat ze ervan uitgaan dat de OCR-standaardinstellingen zullen werken, is het hele verschil tussen bruikbare geëxtraheerde tekst en volledige karakterruis. Stel de taalvlag in, voer de OCR uit, verifieer de uitvoer in een bidirectionele teksteditor en het proces is voltooid. OCR voor rechts-naar-links-scripts beloont de gebruiker die de tijd neemt om de taalparameter correct te configureren en de uitvoer in een bidirectionele teksteditor verifieert, waardoor nauwkeurige, bruikbare tekst wordt geproduceerd uit documenten die anders ontoegankelijk zouden blijven voor iedereen die de brontaal niet leest.
Probeer PDF-OCR
Geen installatie nodig. Werkt rechtstreeks in uw browser.
