So extrahieren Sie Text aus einem Bild oder einer gescannten PDF-Datei mithilfe von OCR – direkt in Ihrem Browser.
Vom FileTinker-Team7 Min. Lesezeit
Sie haben ein Foto eines Dokuments, einen Screenshot oder eine gescannte PDF-Datei und benötigen den darin enthaltenen Text als bearbeitbaren, durchsuchbaren Text, den Sie an anderer Stelle einfügen können. Diese Aufgabe wird als OCR (Optical Character Recognition, optische Zeichenerkennung) bezeichnet, und dafür benötigen Sie nicht mehr eine Desktop-Software oder eine Website, auf der Sie Ihre Datei hochladen müssen: Moderne Browser können eine vollständige OCR-Engine lokal ausführen. Aber OCR ist keine Zauberei. Bei einem klaren Scan erkennt es fast jedes Zeichen korrekt; bei einem unscharfen Foto, das mit einem Smartphone aufgenommen wurde, liefert es jedoch unsinnige Ergebnisse, und der Unterschied hängt fast ausschließlich von der Qualität der Eingabe ab. Dieser Leitfaden erklärt, was OCR tatsächlich leistet, wie Sie erkennen, wann Sie es überhaupt nicht benötigen, was die Funktion beeinträchtigt, warum die Spracheinstellung wichtiger ist, als viele denken, und genau, was ein in den Browser integriertes Tool tut und was es nicht über das Netzwerk sendet.
OCR in einem Absatz: Pixel rein, Vermutungen raus
Eine gescannte Seite enthält keinen Text. Für einen Computer ist sie lediglich ein Raster aus farbigen Pixeln, genau wie ein Foto von einem Strand. OCR ist eine Software, die dieses Raster scannt, Formen findet, die Buchstaben ähneln, und daraus die wahrscheinlichste Textversion erstellt. Das Wort „wahrscheinlich“ ist wichtig: Die Software vergleicht Pixelmuster mit dem, was sie über das Aussehen von gedrucktem Text gelernt hat, sodass das Ergebnis eine statistische Rekonstruktion und keine exakte Kopie ist.
Deshalb kann dasselbe Werkzeug bei einer Datei nahezu perfekte Ergebnisse liefern, während es bei einer anderen völlig unbrauchbar ist. Wenn man ihm einen flachen, scharfen, kontrastreichen Scan von gedrucktem Text gibt, kann eine gute OCR-Engine diesen mit nur wenigen Fehlern erkennen. Wenn man ihm jedoch ein verzerrtes, dunkles Foto von kleinem Text von einem Smartphone gibt, verschlechtert sich die Qualität in jeder Phase des Prozesses: Es erkennt Zeilen, wo keine sind, teilt Zeichen an den falschen Stellen und gibt selbstbewusst die falschen Buchstaben aus. Betrachten Sie das Ergebnis der OCR-Verarbeitung als einen schnellen Entwurf, der einer Korrekturlesung bedarf, und nicht als die absolute Wahrheit, insbesondere bei Zahlen.
Prüfen Sie zunächst, ob Sie überhaupt eine OCR-Funktion benötigen.
Es gibt zwei Arten von PDFs, und auf dem Bildschirm sehen sie identisch aus. Ein born-digital-PDF, also eines, das aus Word, Google Docs oder einer Website exportiert wurde, speichert seinen Text als Zeichen. Öffnen Sie es in einem beliebigen PDF-Reader, und Sie können den Text mit dem Cursor auswählen, ihn durchsuchen und kopieren. Diese Kopie erfolgt sofort und ist zu 100 % korrekt, was keine OCR-Software jemals erreichen kann. Ein gescanntes PDF ist anders: Jede Seite ist ein Foto eines Papierblatts, und es gibt keine Zeichen darin, die man auswählen könnte.
Bevor Sie also eine PDF-Datei mit OCR bearbeiten, versuchen Sie, ein Wort darin auszuwählen oder danach zu suchen. Wenn das funktioniert, kopieren Sie den Text einfach direkt und verzichten Sie ganz auf die OCR-Verarbeitung. Wenn Sie eine digital erstellte PDF-Datei mit OCR bearbeiten, wird ein einwandfreier Text in ein Bild umgewandelt und anschließend versucht, ihn wieder zu rekonstruieren. Das ist langsamer und weniger präzise als der bereits vorhandene Text. OCR ist nur dann sinnvoll, wenn die Auswahl nicht funktioniert: bei Scans, Faxen, Fotos von Papierdokumenten und Screenshots.
Was macht eine OCR-Software präzise, und was führt dazu, dass sie unbemerkt Fehler macht?
OCR-Engines werden mit sauberem, gedrucktem Text trainiert, daher nimmt die Genauigkeit mit zunehmender Abweichung von diesem Ideal ab: eine flache Seite, scharfer Fokus, dunkler Text auf hellem Hintergrund, eine normale Schriftart. Der wichtigste Faktor ist die Auflösung. Eine bewährte Faustregel ist, mit 300 DPI zu scannen, was bei einem Foto oder Screenshot bedeutet, dass die Buchstaben etwa 20 Pixel oder mehr hoch sind. Darunter sind die Striche, die eine 8 von einem B oder ein e von einem c unterscheiden, nur ein oder zwei Pixel breit, und die Informationen, die die Engine benötigt, sind schlichtweg nicht im Bild vorhanden. Eine nachträgliche Vergrößerung eines Bildes mit niedriger Auflösung bringt keine Verbesserung.
Die häufigsten Todesursachen sollte man beim Namen kennen, da jede einzelne bei der Erfassung vermeidbar ist:
- Unschärfe und Verwacklungen: weiche Konturen lassen die Formen der Buchstaben unklar erscheinen.
- Schräglage: Wenn Text schräg fotografiert oder eingescannt wird, funktioniert die Zeilenerkennung nicht mehr.
- Sehr kleiner Text: Screenshots von kleinen Textelementen der Benutzeroberfläche oder von sehr kleinem Schriftbild fallen unter die Grenze von etwa 20 Pixeln.
- Geringer Kontrast: grauer Text auf grauem Hintergrund oder Text über Fotos und farbigen Hintergründen.
- Blendeffekte und Schatten: Ein Foto, das mit dem Handy aufgenommen wurde und auf dem Ihr eigener Schatten über die Seite fällt, führt dazu, dass ganze Bildbereiche verloren gehen.
- Handschrift: Standard-OCR-Engines sind für gedruckten Text ausgelegt; Schreibschrift wird als Rauschen erkannt.
- Dekorative Schriftarten: Stark stilisierte oder komprimierte Schriftarten weichen zu sehr von den Trainingsdaten ab.
- Komplexe Layouts: Bei mehrspaltigen Seiten und Tabellen kann es vorkommen, dass die Lesereihenfolge durcheinandergerät.
Wie kann man ein Dokument so erfassen, dass es von einer OCR-Software tatsächlich gelesen werden kann?
Fünf Minuten Aufwand bei der Aufnahme sparen dreißig Minuten für die Fehlerbehebung bei fehlerhaften Ausgaben. Wenn Sie einen Scanner haben, scannen Sie Textdokumente mit 300 DPI; Graustufen sind ausreichend und sorgen für kleinere Dateien als bei Farbscans. Wenn Sie Ihr Smartphone verwenden, legen Sie die Seite auf eine ebene Fläche in gleichmäßigem Licht, halten Sie die Kamera direkt darüber und nicht in einem Winkel, füllen Sie den Bildausschnitt mit der Seite aus und achten Sie darauf, dass Ihr eigener Schatten nicht auf dem Text liegt. Tippen Sie, um vor dem Aufnehmen auf den Text zu fokussieren.
Dann zuschneiden. Wenn der gewünschte Text mit einem Tabelleneck, einer Hand oder einem überladenen Hintergrund im Bildrahmen geteilt wird, schneiden Sie das Bild auf den reinen Textbereich zu, bevor Sie die OCR ausführen. Alles andere im Rahmen kann vom Engine als Text fehlinterpretiert werden. Jeder dieser Schritte entspricht direkt einem der oben genannten Fehlermodi: Auflösung, Schrägstellung, Kontrast und Unordnung.
Sprachen: Ein Aspekt, den viele Menschen vernachlässigen.
OCR-Engines verwenden für jede Sprache ein separates, trainiertes Modell, da dieses Modell sowohl die Buchstabenformen als auch die sprachlichen Statistiken, also die Wahrscheinlichkeit bestimmter Zeichenfolgen als Wörter, berücksichtigt. Wenn Sie die falsche Sprache auswählen, erhalten Sie nicht nur leicht schlechtere Ergebnisse, sondern völlig unsinnige Ausgaben: Ein auf Englisch trainiertes Modell, das chinesischen Text verarbeitet, wird fleißig die lateinischen Buchstaben ausgeben, denen die einzelnen Zeichen am ähnlichsten sind. Wenn die OCR-Ausgabe wie eine zufällige Zeichenfolge aussieht, sollten Sie zuerst die Spracheinstellungen überprüfen, bevor Sie die Bildqualität dafür verantwortlich machen.
FileTinkers OCR-Funktion unterstützt 17 Sprachen: Englisch, traditionelles und vereinfachtes Chinesisch, Französisch, Deutsch, Spanisch, Italienisch, Portugiesisch, Niederländisch, Russisch, Japanisch, Koreanisch, Arabisch, Hindi, Polnisch, Türkisch und Vietnamesisch. Außerdem gibt es einen kombinierten Englisch- und Chinesisch-Modus für Dokumente, die tatsächlich beide Sprachen mischen, was häufig bei Rechnungen und Formularen aus Taiwan und Hongkong vorkommt. Die Daten für jede Sprache werden nur dann heruntergeladen, wenn Sie sie zum ersten Mal verwenden. Verwenden Sie den kombinierten Modus nur für Seiten, die tatsächlich beide Sprachen enthalten: Wenn Sie der Software auf einer Seite, die nur eine Sprache verwendet, zwei Alphabete zur Verfügung stellen, erhöht dies lediglich die Wahrscheinlichkeit von Fehlern.
Was ein OCR-Tool, das direkt im Browser ausgeführt wird, tatsächlich mit Ihrer Datei macht.
Das Tool „Image to Text“ von FileTinker verwendet die Open-Source-Engine Tesseract, die in WebAssembly kompiliert wurde, und führt sie in einem Worker innerhalb Ihres Browser-Tabs aus. Sie wählen eine Sprache aus, laden eine Datei hoch und beobachten eine Fortschrittsanzeige, während das Programm den Text extrahiert. Es unterstützt gängige Bildformate wie JPG, PNG, WebP und andere sowie PDFs. Die Bilder werden direkt an die Engine weitergeleitet.
Eingescannte PDFs durchlaufen einen zusätzlichen Schritt: Das Tool wandelt zunächst jede Seite mit Hilfe von pdf.js in ein Bild mit doppelter Auflösung um. Anschließend werden die Seiten nacheinander an die Engine weitergeleitet, wobei eine Fortschrittsanzeige im Stil von „Seite 2 von 5“ angezeigt wird. Die erkannten Seiten werden dann mit einer Leerzeile dazwischen zu einem einzigen Ergebnis zusammengefügt. Beachten Sie, dass dies für jedes PDF-Dokument geschieht, auch für solche, die von Anfang an digital erstellt wurden, und genau deshalb ist es sinnvoll, zuerst die zuvor beschriebene Funktion zum Auswählen und Kopieren zu verwenden.
Das Ergebnis wird in einem bearbeitbaren Textfeld angezeigt, sodass Sie Erkennungsfehler sofort korrigieren können. Anschließend können Sie den Text kopieren oder als .txt-Datei herunterladen. Wenn die Software nichts findet, gibt sie dies an, anstatt Text zu erfinden. Und wenn Sie den bereinigten Text wieder als Dokument benötigen, wandelt das Text-zu-PDF-Tool von FileTinker die .txt-Datei in ein echtes, durchsuchbares PDF-Dokument um, was in der Regel das eigentliche Ziel des Scannens ist.
Die Datenschutzbestimmungen, klar und deutlich formuliert.
„Läuft in Ihrem Browser“ stimmt zwar, bedeutet aber nicht „keine Netzwerkaktivität“, und es ist wichtig, den Unterschied genau zu erläutern. Ihr Bild oder Ihre PDF-Datei wird niemals hochgeladen: Sie wird vollständig auf Ihrem eigenen Computer decodiert, gerendert und erkannt, und kein Server empfängt sie. Was über das Netzwerk übertragen wird, ist die Software. Bei der ersten Verwendung lädt das Tool die OCR-Engine (die Komponente und ihr WebAssembly-Kern, die über das jsDelivr CDN bereitgestellt werden) und die trainierten Daten für die von Ihnen ausgewählte Sprache (die über den Standard-Tesseract-Datenhost bereitgestellt werden) herunter. Dies ist ein einmaliger Download – ein paar Megabyte für die Engine plus das Sprachmodell, das von wenigen Megabyte für Englisch bis zu mehreren zehn Megabyte für Sprachen wie Chinesisch oder Japanisch reicht –, und Ihr Browser speichert es zwischen, sodass spätere Ausführungen viel schneller starten.
Kurz gesagt: Der Code wird heruntergeladen, Ihre Datei wird aber nicht hochgeladen. Dieser Unterschied macht die Verwendung von OCR direkt im Browser für sensible Materialien wie Verträge, Ausweise und medizinische Dokumente sinnvoll, da man so vermeiden kann, das Dokument selbst an den Server einer fremden Person zu senden. Ein Netzwerkbeobachter könnte zwar feststellen, dass Sie OCR-Software heruntergeladen haben, aber er könnte nicht sehen, auf welchen Daten Sie diese ausgeführt haben.
Die Ergebnisse der Texterkennung (OCR) bereinigen.
Selbst ein gutes Ergebnis benötigt eine Nachprüfung. OCR weist klassische Verwechslungen auf: Kleinbuchstabe l, die Ziffer 1 und Großbuchstabe I; O und 0; die Buchstabenkombination rn wird als m gelesen. Zahlen sollten besonders sorgfältig korrigiert werden, da eine falsche Ziffer in einer Telefonnummer oder einer Gesamtsumme einer Rechnung sowohl wahrscheinlich ist als auch von einer Rechtschreibprüfung nicht erkannt wird. Auch strukturelle Eigenheiten sind normal: Oft wird am Ende jeder gedruckten Zeile ein Zeilenumbruch eingefügt, anstatt am Ende jedes Absatzes, und Wörter, die über Zeilen geteilt sind, bleiben geteilt.
Da das Ausgabe-Feld bearbeitbar ist, führen Sie diese Bereinigung durch, bevor Sie kopieren oder herunterladen. Für ein einseitiges Schreiben dauert dies eine Minute. Diese Minute, zusammen mit einer ordentlichen Aufnahme, macht den gesamten Unterschied aus zwischen OCR als bloßem Party-Trick und der schnellsten Methode, Papier in ein tatsächlich nutzbares Dokument zu verwandeln.