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

32

Heute habe ich von unserem Lieferanten ein PDF erhalten, das mehrere gedruckte und gescannte Seiten mit Signaturen 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 mit auswählbarem Text gescannt

Offensichtlich steckt etwas OCR dahinter, da der kopierte Text Fehler enthält. Aber wie ist das möglich? Ich habe das noch nie gesehen, wie kann das geschaffen werden?

Vojtěch Dohnal
quelle
4
Pakete wie github.com/gkovacs/pdfocr ermöglichen dies für bereits vorhandene PDFS-Bilder
exussum
Wie unterscheidet es sich von Ergebnissen, die Sie durch Batch-OCR von vielen PDFs erhalten ?
Dmitry Grigoryev
@DmitryGrigoryev Ich habe diese Art von PDF noch nie gesehen, also habe ich gefragt, was es ist. In den Antworten ist nichts über die Firmware-OCR oder OCRMyPDF des Druckers zu lesen. Sowohl die Fragen als auch die Antworten sind sehr unterschiedlich. Ich sehe kein Duplikat, außer dass es sich bei beiden Fragen um OCR und PDFs handelt.
Vojtěch Dohnal
Nun, ich habe noch nie ein OCR-PDF gesehen, das sich von dem unterscheidet, was Sie gepostet haben. Deshalb fühlt sich Ihre Frage für mich seltsam an.
Dmitry Grigoryev

Antworten:

53

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

Die meisten (alle?!) Professionellen und die meisten semiprofessionellen Dokumentenscanner führen automatisch OCR durch, wenn Sie "Als PDF speichern" auswählen und das Kontrollkästchen "Durchsuchbar" in den Einstellungen aktiviert haben. Die billigeren "Consumer Grade" -Modelle führen die OCR auf dem angeschlossenen PC durch, typische Netzwerkscanner tun dies intern.

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

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

Der Scanner kann auch zusätzliche Aufgaben ausführen, z. B. das Zusammensetzen des großen Bilds aus vielen kleinen Kacheln, die ebenfalls wiederverwendet werden. Dies führt zu einer viel kleineren Dokumentgröße als tatsächlich möglich, kann aber auch zu lustigen Überraschungen führen (nicht so lustig, wenn sie Ihnen passieren!), Wie zum Beispiel, dass der Xerox Ihre Rechnungsgeschichte ändert , ironischerweise auch wenn keine OCR durchgeführt wird, abhängig davon auf der Firmware.

Damon
quelle
Ja, dies ist höchstwahrscheinlich die Art und Weise, wie sie es erstellt haben. Ich bezweifle sehr, dass sie Adobe Acrobat vollständig verwenden.
Vojtěch Dohnal
Wir haben den gesamten Text hinter dem gescannten Bild dort platziert, wo die Texterkennung jeden Textknoten gefunden hat.
Thorbjørn Ravn Andersen
10

Aber wie ist das möglich?

Grundsätzlich führt ein Programm 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, um den gleichen Effekt zu erzielen.

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

Wie kann das geschaffen werden?

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

PDF-XChange Viewer

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

Hier ist ein Bild von dieser Antwort, die ich auf Ask Ubuntu hinterlassen habe:

Screenshot von PDF-XChange Viewer unter 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 zum Erfassen aller Informationen auf dieser Seite erforderlich sind, ohne dass Inhalte verloren gehen. Es verwendet Ghostscript, um die Seite zu rastern, und führt dann eine OCR-Operation für das gerasterte Bild durch, um eine OCR- „Ebene“ zu erstellen. Die Ebene wird dann wieder auf die ursprüngliche PDF-Datei gepfropft.

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, dass Sie die optionalen Parameter -d(Deskew) und -c(Clean) verwenden, um bessere Ergebnisse zu erzielen . Es wird jede Seite begradigen und kleine Punkte / Unvollkommenheiten beseitigen, bevor der OCR-Prozess ausgeführt wird.

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

Hier ist ein Beispiel aus diesem verzerrten Dokument in italienischer Sprache:

Beispiel für 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. Bemerkenswert ist, dass PDF24 eine kostenlose webbasierte Version von OCRmyPDF enthält , die ohne Einschränkungen verwendet werden kann.

Siehe auch:

Andrea Lazzarotto
quelle
Vielen Dank für diese Antwort, ich habe OCRMyPDF ausprobiert und es hat sehr gut funktioniert, aber leider ist die Sprachunterstützung, die ich benötige, noch nicht ausgereift, sodass die Ergebnisse noch nicht sehr brauchbar waren.
Vojtěch Dohnal
@ VojtěchDohnal Für welche Sprache interessieren Sie sich? Haben Sie das entsprechende Sprachpaket für Tesseract installiert? Sehen Sie die Liste hier: macports.org/ports.php?by=name&substr=tesseract-
Andrea Lazzarotto
4

Dies liegt möglicherweise an einer Acrobat OCR-Funktion :

Acrobat kann Text in jeder PDF- oder Bilddatei in Dutzenden von Sprachen erkennen. Alles, was Sie tun müssen, ist, das gescannte Dokument oder Bild zu öffnen, das Sie OCR-fähig machen möchten, und dann auf die blaue Schaltfläche Extras oben rechts in der Symbolleiste zu klicken. Wählen Sie in dieser Seitenleiste die Registerkarte Text erkennen und klicken Sie dann auf die Schaltfläche In dieser Datei.

...

Mit dem erkannten Text können Sie die PDF-Datei jetzt mit allen normalen Markierungswerkzeugen markieren - 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 selbst.

Kumpel
quelle
Funktioniert das auch im Reader? Andere Dokumente funktionieren für mich nicht so ...
Vojtěch Dohnal
Ich fürchte nein, aber werfen Sie einen Blick auf diesen Artikel: pdf.wondershare.com/pdf-software-comparison/…
duDE
3

Von der Adobe-Website

Erkennen Sie Text in einer gescannten PDF-Datei

Wenn Sie Papierdokumente in PDF scannen, machen Sie wirklich nur Fotos von diesen Dokumenten. 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 einen bestimmten Ausdruck 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 das Werkzeugfenster und erweitern Sie das Texterkennungsfenster. Wenn im Werkzeugfenster die Option "Texterkennung" nicht angezeigt wird, können Sie sie hinzufügen, indem Sie das Menü in der oberen rechten Ecke auswählen (Bild unten - sehen Sie, wohin der kleine rote Pfeil zeigt? Klicken Sie dort).
  2. Klicken Sie auf "In dieser Datei", um das geöffnete Dokument zu scannen. Sie können einfach die Standardeinstellungen übernehmen und auf "Okay" klicken, wenn das Feld "Text erkennen" angezeigt wird. Acrobat konvertiert das Bild in verwendbaren Text. Versuchen Sie zum Testen einfach, ein Wort oder einen Satz im Inhaltsbearbeitungsfeld zu bearbeiten. Ist das nicht großartig?
Máté Juhász
quelle
Danke, aber ich habe gerade das PDF in Reader DC geöffnet und nichts Besonderes damit gemacht, andere PDF-Dokumente mit gescannten Seiten funktionieren nicht automatisch auf diese Weise ...
Vojtěch Dohnal
5
OCR wurde durchgeführt, bevor Sie die Datei erhalten haben. Wenn Text erkannt wird, wird er zusammen mit dem PDF gespeichert.
Máté Juhász
@ VojtěchDohnal Sie brauchen wahrscheinlich Vollakrobat, nicht nur den Leser
Thorbjørn Ravn Andersen