Gescande versus digitale pdf's: waarom tekstextractie soms niets oplevert
Twee pdf's kunnen er pixel voor pixel identiek uitzien en vanbinnen tegenpolen zijn: de ene bevat tekst, de andere een foto van tekst. Elke mysterieuze pdf-storing (lege extracties, ondoorzoekbare contracten, schermlezers die zwijgen) voert terug op dit onzichtbare verschil.
De test van één seconde
Open de pdf en probeer een paar woorden met je muis te selecteren. Verschijnt er een tekstcursor en lichten woorden afzonderlijk op, dan bevat het bestand echte tekst. Trekt je selectie een rechthoek, of valt er niets te selecteren, dan kijk je naar een afbeelding van een pagina, en dat is precies wat elke scanner en de meeste telefooncamera-apps maken.
Een tweede aanwijzing: doorzoek het bestand (Ctrl+F) op een woord dat je op de pagina ziet staan. Echte tekst wordt meteen gevonden; een scan meldt nul treffers voor een woord recht voor je neus. De pagina weet niet dat het woord er staat, zoals de foto van een boek zijn eigen verhaal niet kent.
Waarom het verschil bestaat
Een digitaal geboren pdf (geëxporteerd uit Word, gegenereerd door een factuursysteem) draagt tekeninstructies die de echte tekens bevatten: het bestand weet dat op deze positie een A in dit lettertype staat. Tekstextractie leest die instructies gewoon terug; snel, exact en tekengetrouw.
Een scanner weet niets van letters. Hij meet licht en produceert een raster van pixels; sommige pixels vormen lettervormige patronen, maar die betekenis bestaat alleen in een mensenoog. Tekst uit zo'n bestand halen levert eerlijk op wat het bestand bevat: geen tekst. Tools die bij een scan een leeg resultaat tonen zijn niet kapot, ze zijn eerlijk.
OCR: tekst fabriceren die er nooit was
Tekstherkenning (OCR) bekijkt de pixelvormen en RAADT welke tekens ze voorstellen, en schrijft vervolgens een onzichtbare tekstlaag achter de afbeelding. De pagina toont nog steeds de originele scan; zoeken en selecteren raken de verborgen laag. Zo worden gescande boeken doorzoekbaar.
Omdat OCR raadt, erft het elke zwakte van de invoer: scheve pagina's, koffievlekken, ongewone lettertypen, handschrift en lage resolutie jagen het foutpercentage omhoog. Zelfs bij 99% nauwkeurigheid bevat een dichte pagina een paar dozijn foute tekens, en dat telt zwaar als de pagina een contract is of IBAN's bevat. OCR-uitvoer is een concept om te controleren, geen bewijsstuk om te vertrouwen.
Zó scannen dat je toekomstige zelf het bestand kan gebruiken
Resolutie bepaalt alles wat volgt: 300 DPI is de standaard die OCR nauwkeurig en afdrukken scherp houdt; 150 DPI geeft kleinere bestanden die op een scherm prima lezen maar OCR richting fouten duwen; alles daaronder is de foto van een herinnering. Boven de 300 DPI koop je bij gewone documenten vooral bestandsgrootte, geen getrouwheid.
Kies voor tekstdocumenten zwart-wit of grijstinten (kleur verdrievoudigt de grootte en helpt OCR niets), houd pagina's recht want scheefstand is na onscherpte de ergste OCR-vijand, en biedt je scanner 'doorzoekbare pdf' aan, zet dat aan; dat is ingebouwde tekstherkenning op het moment van scannen, terwijl het origineel nog in je hand ligt om na te kijken. Het digitale origineel blijft koning: waar een echte pdf-export bestaat, wint extractie daaruit het elke keer van het scannen van de afdruk.
Naar de tool:
PDF naar tekst