Wie erstelle ich ein PDF mit gescannten Seiten und auswählbarem Text?

6146
Vojtěch Dohnal

Heute habe ich ein PDF von unserem Lieferanten erhalten, das mehrere gedruckte und gescannte Seiten mit Unterschriften usw. enthielt. Ich habe es in Acrobat Reader DC geöffnet. Zu meiner Überraschung konnte der Text aus den offensichtlich gescannten Bildern ausgewählt und als Text kopiert werden. Siehe den Screenshot:

PDF scanned with selectable text

Es gibt offensichtlich etwas OCR dahinter, da der kopierte Text Fehler enthält. Aber wie ist das möglich? Ich habe das noch nie gesehen, wie kann man das schaffen?

31
Pakete wie https://github.com/gkovacs/pdfocr ermöglichen dies für bereits vorhandene Image-PDFS exussum vor 6 Jahren 17
Inwiefern unterscheiden sich diese Ergebnisse von [Batch-OCR (viele PDFs)] (https://superuser.com/questions/424459/batch-ocr-many-pdfs)? Dmitry Grigoryev vor 6 Jahren 13
@DmitryGrigoryev Ich hatte diese Art von PDF noch nie zuvor gesehen, also habe ich gefragt, was es ist. In den Antworten steht nichts über die Drucker-OCR oder OCRMyPDF. Sowohl die Frage als auch die Antwort sind sehr unterschiedlich. Ich sehe nichts Duplikat, außer dass beide Fragen OCR und PDFs betreffen. Vojtěch Dohnal vor 6 Jahren 13
Nun, ich habe noch nie ein OCR-PDF gesehen, das sich von dem, was Sie gepostet haben, unterscheidet. Aus diesem Grund ist Ihre Frage mir fremd. Dmitry Grigoryev vor 6 Jahren 13

4 Antworten auf die Frage

53
Damon

Dies hat (im Gegensatz zu einigen anderen Antworten) höchstwahrscheinlich überhaupt nichts mit Acrobat zu tun.

Die meisten (alle ?!) professionellen Dokumentenscanner und die meisten semiprofessionellen Scanner führen automatisch eine OCR durch, wenn Sie "Als PDF speichern" wählen und in den Einstellungen das Kontrollkästchen "Durchsuchbar" aktivieren. Die günstigeren "Consumer Grade" -Modelle erledigen die OCR auf dem angeschlossenen PC, typische Netzwerkscanner tun dies intern.

Das Wort "durchsuchbar" bedeutet nicht mehr und nicht weniger, als dass der Scanner OCR ausführt, dann eine Seite mit den gescannten Bitmaps erstellt und diese mit unsichtbaren Zeichen aus der OCR überlagert, die jeweils über dem jeweiligen Zeichen in der Bitmap platziert werden.

Auf diese Weise können Sie die "Bitmap" wie von Zauberhand suchen, auswählen, kopieren und einfügen. Es ist jedoch keine Magie. In Wirklichkeit kopieren Sie nur unsichtbaren Text.

Der Scanner kann auch einige zusätzliche Magie anwenden, beispielsweise das große Bild aus vielen kleinen Kacheln zusammensetzen, die ebenfalls wiederverwendet werden. Dies führt zu einer viel kleineren Dokumentgröße, als tatsächlich möglich wäre, kann aber auch zu lustigen Überraschungen führen (nicht so lustig, wenn sie Ihnen passieren!), Wie der Xerox Ihre Rechnungsgeschichte ändert, ironischerweise sogar, wenn keine OCR-Aktion ausgeführt wird auf der Firmware.

Ja, wahrscheinlich haben sie es erstellt. Ich bezweifle, dass sie Adobe Acrobat vollständig verwenden. Vojtěch Dohnal vor 6 Jahren 13
Wir haben es getan, indem wir den gesamten Text _behind_ des gescannten Bildes dort platziert haben, wo der OCR berichtet hat, wo er jeden Textknoten gefunden hat. Thorbjørn Ravn Andersen vor 6 Jahren 13
9
Andrea Lazzarotto

Aber wie ist das möglich?

Grundsätzlich führt ein Programm eine OCR für die Eingabedatei durch und platziert dann eine unsichtbare Textebene über dem Bild. Alternativ kann auch eine sichtbare Textebene unter dem Bild platziert werden, wodurch derselbe Effekt erzielt wird.

Wenn Sie etwas auswählen, spielt das Bild keine Rolle, da die Textebene ausgewählt wird.

wie kann das erstellt werden?

Es gibt mehrere Möglichkeiten. Da Acrobat bereits vorgeschlagen wurde, werde ich einige kostenlose Optionen hinzufügen (und zum Glück sind Sie nicht gezwungen, Windows zu benutzen, um sie zu verwenden).

PDF-XChange Viewer

Dies ist ein natives Windows-Programm von Tracker Software . Die Freeware-Version läuft einwandfrei unter Wine, wenn Sie die 32-Bit-Version in einem 32-Bit-Präfix verwenden. Daher können Sie sie unter Windows, Mac OS und Linux verwenden. In den letzten beiden Fällen benötigen Sie PlayOnMac bzw. PlayOnLinux.

Hier ist ein Bild aus dieser Antwort, die ich bei Ask Ubuntu hinterlassen habe:

Screenshot of PDF-XChange Viewer under Wine

OCRmyPDF

Dies ist ein in Python geschriebenes Multiplattform-Programm, das auf Ghostscript, Tesseract und Unpaper basiert. Aus den Dokumenten:

Was macht OCRmyPDF?

OCRmyPDF analysiert jede Seite einer PDF-Datei, um den Farbraum und die Auflösung (DPI) zu bestimmen, die erforderlich sind, um alle Informationen auf dieser Seite zu erfassen, ohne Inhalt zu verlieren. Es verwendet Ghostscript zum Rastern der Seite und führt dann eine OCR für das gerasterte Bild aus, um eine OCR- "Ebene" zu erstellen. Die Ebene wird dann wieder auf das Original-PDF aufgepfropft.

Es kann leicht auf Debian- und Ubuntu-Derivaten installiert werden:

apt-get install ocrmypdf 

Oder unter macOS:

brew tap jbarlow83/ocrmypdf brew install ocrmypdf 

Unter Windows müssten Sie das Docker-Image verwenden. Einzelheiten finden Sie in den offiziellen Dokumenten.

Die Verwendung ist sehr einfach und ich schlage vor, Sie verwenden die optionalen -d(Deskew) und -c(sauberen) Parameter für bessere Ergebnisse. Es wird jede Seite glätten und kleine Punkte / Unvollkommenheiten entfernen, bevor der OCR-Prozess ausgeführt wird.

Sie können (und sollten) die Sprache mit angeben -l.

Hier ein Beispiel aus diesem schräg gestellten Dokument, das auf Italienisch geschrieben wurde:

Example for OCRmyPDF

Der Befehl, den ich verwendete, war:

ocrmypdf -l ita -d -c input.pdf output.pdf 

Online-Tools

Es gibt einige Online-Tools, die dasselbe tun. Beachten Sie, dass PDF24 eine kostenlose webbasierte Version von OCRmyPDF enthält, die ohne Einschränkungen verwendet werden kann.

Siehe auch:

Vielen Dank für diese Antwort, ich habe OCRMyPDF ausprobiert und es hat sehr gut funktioniert, aber leider ist die Sprachunterstützung, die ich brauche, noch nicht ausgereift, daher waren die Ergebnisse noch nicht sehr brauchbar. Vojtěch Dohnal vor 6 Jahren 13
@ VojtěchDohnal für welche Sprache interessierst du dich? Haben Sie das entsprechende Sprachpaket für Tesseract installiert? Die Liste finden Sie hier: https://www.macports.org/ports.php?by=name&substr=tesseract- Andrea Lazzarotto vor 6 Jahren 13
4
duDE

Möglicherweise liegt dies an einer Acrobat OCR-Funktion :

Acrobat kann Text in jeder PDF- oder Bilddatei in Dutzenden von Sprachen erkennen. Sie müssen lediglich das gescannte Dokument oder Bild öffnen, das Sie für die OCR verwenden möchten, und dann auf die blaue Schaltfläche "Tools" oben rechts in der Symbolleiste klicken. Wählen Sie in dieser Seitenleiste die Registerkarte Text erkennen aus und klicken Sie auf die Schaltfläche In dieser Datei.

...

Wenn der Text erkannt wurde, können Sie die PDF-Datei jetzt mit allen üblichen Markierungswerkzeugen kennzeichnen - Sie können Text hervorheben, streichen und vieles mehr . Sie können den Text sogar mit der erkannten Formatierung kopieren, obwohl dies oft weniger genau ist als die Texterkennung.

Das funktioniert auch in Reader? Andere Dokumente funktionieren für mich nicht so ... Vojtěch Dohnal vor 6 Jahren 13
Ich fürchte nein, aber werfen Sie einen Blick auf diesen Artikel: https://pdf.wondershare.com/pdf-software-comparison/adobe-reader-ocr.html duDE vor 6 Jahren 13
3
Máté Juhász

Von der Adobe-Website

Erkennen Sie Text in einer gescannten PDF-Datei

Wenn Sie Papierdokumente in PDF scannen, machen Sie eigentlich nur Fotos dieser Dokumente. Das ist großartig für Fotos und andere gedruckte Bilder, aber was ist, wenn Sie ein 200-seitiges Dokument haben, in dem Sie ein bestimmtes Wort oder eine bestimmte Phrase finden müssen? Verwenden Sie Acrobat, um den Text in dieser gescannten Datei zu erkennen und den Textinhalt durchsuchbar und verwendbar zu machen.

  1. Öffnen Sie das gescannte Dokument in Acrobat. Öffnen Sie den Bereich Werkzeuge und erweitern Sie den Bereich Texterkennung. Wenn Sie im Textfeld „Texterkennung“ nicht sehen, können Sie sie hinzufügen, indem Sie das Menü in der oberen rechten Ecke auswählen (Abbildung unten - sehen Sie, wo der kleine rote Pfeil steht? Klicken Sie dort).
  2. Klicken Sie auf "In dieser Datei", um das geöffnete Dokument zu scannen. Sie können einfach die Standardeinstellungen akzeptieren und auf "OK" klicken, wenn das Feld "Text erkennen" angezeigt wird. Acrobat konvertiert das Bild in verwertbaren Text. Versuchen Sie einfach, ein Wort oder einen Satz mit dem Bedienfeld „Inhalt bearbeiten“ zu bearbeiten. Ist das nicht großartig?
Danke aber ich habe gerade das PDF in Reader DC geöffnet und nichts Besonderes damit gemacht, andere PDF-Dokumente mit gescannten Seiten funktionieren auf diese Weise nicht automatisch ... Vojtěch Dohnal vor 6 Jahren 13
OCR wurde durchgeführt, BEVOR Sie die Datei erhalten haben. Wenn der Text erkannt wird, wird er zusammen mit dem PDF gespeichert. Máté Juhász vor 6 Jahren 18
@ VojtěchDohnal Du brauchst wahrscheinlich einen vollen Akrobaten, nicht nur den Leser Thorbjørn Ravn Andersen vor 6 Jahren 13