Warum sich eine gescannte PDF nicht durchsuchen lässt
Hinter derselben Dateiendung können zwei sehr verschiedene Dinge stecken. Eine aus Word exportierte PDF enthält den Text selbst: Jeder Buchstabe ist ein Zeichen, das der Rechner kennt. Eine PDF aus dem Scanner oder vom Telefon enthält pro Seite ein Bild und sonst nichts. Sie sehen Buchstaben, der Rechner sieht nur Pixel. Deshalb verhalten sich Suchen, Kopieren und Alles-markieren, als wäre die Seite leer.
Welche der beiden Sie haben, sehen Sie in Sekunden. Öffnen Sie die Datei und ziehen Sie die Maus über einen Satz. Werden einzelne Wörter markiert, gibt es eine Textebene. Erscheint ein Rechteck über der Seite wie beim Zuschneiden eines Fotos, ist es ein Scan.
Was Texterkennung mit einer PDF macht
Die optische Zeichenerkennung (OCR) betrachtet das Seitenbild, ermittelt die Position von Zeilen und Buchstaben und erzeugt den Text, der ihrer Ansicht nach dort gedruckt ist. Ein gutes Programm schreibt diesen Text als unsichtbare Ebene genau über die gedruckten Wörter zurück in die PDF. Die Seite sieht weiterhin aus wie der Scan. Darunter hat jedes Wort nun eine Position, sodass die Suche es finden, hervorheben und kopierbar machen kann.
Daraus folgen zwei Dinge. Texterkennung ist eine Schätzung und ihre Qualität hängt vom Scan ab: Ein scharfer Scan mit 300 dpi von Druck aus dem 20. Jahrhundert wird nahezu fehlerfrei gelesen, eine verblasste Fotokopie mit 150 dpi nicht. Auch die Sprache zählt. Ein auf Englisch trainiertes Modell hat nie ein ß oder ein ü gesehen und liest sie als etwas anderes. Sagen Sie dem Programm, in welcher Sprache das Dokument geschrieben ist, dann wird das Ergebnis sofort besser.
Kostenlose Wege zur Texterkennung
OCRmyPDF und Tesseract auf der Kommandozeile
OCRmyPDF ist frei und quelloffen. Es steuert Googles Tesseract-Engine und liefert dieselben Seitenbilder mit einer durchsuchbaren Textebene, alles auf Ihrem eigenen Rechner.
ocrmypdf --language deu --deskew --rotate-pages scan.pdf durchsuchbar.pdf
Ersetzen Sie deu durch fra, eng, nld oder ita. Für ein zweisprachiges Dokument verbinden Sie zwei Kürzel mit einem Pluszeichen (deu+fra). Auf macOS installiert man es mit Homebrew (brew install ocrmypdf). Unter Windows braucht man pip und eine separate Tesseract-Installation, alternativ WSL. Alles wird von Hand getippt: jede Datei, jeder Ordner, jede Sprachwahl. Für zehn PDFs ist das in Ordnung. Für einen Ordner mit zweitausend wird es ein Skriptprojekt. Auch dann kann man das Ergebnis mit nichts durchsuchen.
Adobe Acrobat
Acrobat Pro hat eine Funktion Scannen und OCR, die Text im geöffneten Dokument erkennt und als Stapelaktion über einen Ordner laufen kann. Die Erkennung ist auf sauberem Druck gut, der Ablauf bleibt aber pro Datei: öffnen, erkennen, speichern. Mit der erweiterten Suche lassen sich viele Dateien durchsuchen. Auf Scans ist das langsam und man erhält eine Trefferliste ohne die Seite selbst. Acrobat Pro ist ein Abonnement. Der kostenlose Acrobat Reader kann keine Texterkennung.
Google Drive und andere Cloud-Dienste
Sie laden die PDF in Google Drive hoch, klicken mit der rechten Maustaste, wählen Öffnen mit Google Docs und Drive erkennt den Text. Das kostet nichts und braucht keine Software, aber Ihr Dokument liegt nun auf einem Server, der nicht Ihnen gehört, unter Bedingungen, die Sie nicht geschrieben haben. Bei einer gescannten Zeitschrift spielt das kaum eine Rolle. Bei Mandantenakten, Patientenunterlagen, Personalakten oder den Briefen der Großmutter ist es eine Entscheidung, die man bewusst treffen sollte. Dazu gibt es eine eigene Anleitung: Texterkennung ohne Upload (Englisch).
Im Betriebssystem eingebaut
Neuere macOS-Versionen erkennen Text in Bildern und in PDF-Seiten in der Vorschau (Live Text). Man kann ihn markieren und kopieren. Es wird keine Textebene in die Datei geschrieben und die Finder-Suche findet die Wörter nicht. Windows hat keine eingebaute PDF-Texterkennung. Beides taugt, um einen Absatz aus einem Scan zu holen. Für ein durchsuchbares Archiv helfen sie nicht.
Was schiefgeht und woran man es erkennt
- Eine falsche Sprache ist mit Abstand die häufigste Ursache schlechter Ergebnisse. Ein deutsches Dokument, das mit einem englischen Modell gelesen wird, verliert jedes ß und jeden Umlaut.
- Unter 300 dpi verlieren Buchstaben die Details, die die Engine braucht. Neu scannen, wenn es geht. Sonst muss man mit Fehlern bei kleiner Schrift rechnen.
- Seiten, die schräg auf dem Glas lagen oder seitlich eingezogen wurden. Die meisten Programme richten die Seite aus und korrigieren 90-Grad-Drehungen. Kopfstehende Seiten bleiben ein Problem für Programme auf Tesseract-Basis, unseres eingeschlossen.
- Abgenutzter oder blasser Druck in alten Zeitungen, Durchschlägen und schwachen Fotokopien. Die Engine liest, was sie kann. Der Rest wird Rauschen.
- Deutscher Druck in Fraktur, üblich bis in die 1940er Jahre, braucht ein eigenes Modell. Was heute geht, steht auf der Seite zu Fraktur-OCR.
- Handschrift gehört nicht zu dem, was OCR leistet. Siehe die häufigen Fragen.
Ein Programm, das für jede Seite einen Vertrauenswert anzeigt, erspart es Ihnen, diese Probleme über verpasste Suchtreffer zu entdecken. Tesseract liefert den Wert, aber wenige Oberflächen zeigen ihn.
Searchive ist die Desktop-Anwendung, die wir für alle gebaut haben, denen es um das Finden geht. Sie importieren einen Ordner, wählen die Sprache pro Dokument und jede Seite wird durchsuchbar, mit den Treffern auf dem Scan selbst hervorgehoben. Alles läuft auf Ihrem eigenen Mac oder Windows-Rechner. Für ein Dokument ist es kostenlos und ein Konto brauchen Sie nicht.
Auf die WartelisteWenn aus einer Datei tausend werden
Alle Programme oben beantworten die Frage "Wie mache ich diese PDF durchsuchbar?". Die meisten Menschen fragen etwas anderes: Auf welcher Seite, irgendwo in diesen Kisten, steht ein bestimmter Name? Dafür braucht es drei Dinge, die Programme für einzelne Dateien nicht bieten.
- Texterkennung, die von selbst über Hunderte Dateien läuft, jede mit eigener Sprache, mit einem Status pro Dokument und einem Neustart ab Seite 124, wenn auf Seite 124 von 350 etwas schiefgeht.
- Ein Suchfeld, das jedes Dokument durchsucht und sortierte Ergebnisse mit Textausschnitt liefert, statt jede Datei zu öffnen und Strg+F zu drücken.
- Der Treffer auf dem Scan. Eine Liste von Dateinamen ist kein Ergebnis. Das Seitenbild mit dem gefundenen Wort ist eines, denn die Originalseite ist das, was Sie zitieren.
Dafür ist Searchive gemacht. Sie importieren PDFs (oder eine Reihe von Handyfotos, die zusammen ein Dokument werden) und geben an, ob ein Dokument auf Deutsch, Französisch, Englisch, Niederländisch oder Italienisch geschrieben ist. Die Anwendung erkennt und indiziert dann jede Seite auf Ihrem Rechner. Dokumente, die bereits eine Textebene haben, werden ohne Texterkennung indiziert. Die Suche kennt drei Modi: alle Wörter, eines der Wörter (damit Cöln, Köln und Coeln dieselbe Seite finden) und genaue Wortfolge. Jede Seite behält ihren Vertrauenswert, damit Sie sehen, welche einen zweiten Blick verdienen.
Die Originale, die durchsuchbaren Kopien und der Index bleiben alle auf Ihrem Rechner. Es wird nichts hochgeladen. Das Demovideo auf der Startseite zeigt die App an einer Reihe von Zeitschriften aus den 1930er Jahren.
Häufige Fragen
Woran erkenne ich, ob meine PDF ein Scan ist?
Versuchen Sie, mit der Maus ein Wort zu markieren. Funktioniert das, gibt es eine Textebene. Erscheint ein Rahmen über der Seite wie beim Zuschneiden eines Fotos, ist die PDF ein Bild und braucht Texterkennung, bevor Sie darin suchen können.
Verändert die Texterkennung mein Original?
Das hängt vom Programm ab. Manche überschreiben die Datei und die meisten erzeugen eine neue. Searchive verändert die importierte Datei nie. Es speichert eine separate durchsuchbare Kopie neben dem unangetasteten Original.
Geht das kostenlos?
Ja. OCRmyPDF mit Tesseract ist kostenlos, quelloffen und läuft auf dem eigenen Rechner über die Kommandozeile. Google Drive erkennt Text in einer hochgeladenen PDF kostenlos, wenn man den Upload in Kauf nimmt. Acrobat Pro kann es auch, kostet aber.
Werden Umlaute, ß und alte Rechtschreibung erkannt?
Mit dem deutschen Sprachmodell (deu) ja. Wer versehentlich Englisch wählt, verliert genau diese Zeichen. In Searchive wählen Sie die Sprache pro Dokument. Alte Formen wie Thür oder seyn werden so gelesen, wie sie gedruckt sind.
Liest OCR auch Fraktur oder Handschrift?
Fraktur braucht ein eigenes Modell, das Searchive noch nicht mitliefert. Die Seite zu Fraktur-OCR erklärt, welche freien Werkzeuge es können. Handschrift (Kurrent, Sütterlin) ist keine OCR-Aufgabe. Dafür braucht man Handschriftenerkennung, etwa mit Transkribus.