Wie erkennt man, ob eine PDF-Datei nur Bilder enthält oder zur Suche per OCR gescannt wurde?

StackOverflow https://stackoverflow.com/questions/1489733

  •  18-09-2019
  •  | 
  •  

Frage

Ich habe eine Reihe von PDF-Dateien, die aus gescannten Dokumenten stammen.Die Dateien enthalten eine Mischung aus Bildern und Text.Einige wurden als Bilder ohne OCR gescannt, sodass jede PDF-Seite ein großes Bild darstellt, auch wenn die gesamte Seite ausschließlich aus Text besteht.Andere wurden mit OCR gescannt und enthalten Bilder und durchsuchbaren Text, sofern Text vorhanden ist.In vielen Fällen wurden sogar Wörter in den Bildern durchsuchbar gemacht.

Ich möchte mit Acrobat 8 ​​Pro einen automatisierten Prozess zur Texterkennung in allen gescannten Dokumenten mithilfe von OCR einrichten, aber ich möchte die Dateien, die den OCR-Prozess in der Vergangenheit bereits durchlaufen haben, nicht erneut OCR-erkennen.Weiß jemand, ob es eine Möglichkeit gibt herauszufinden, welche nur Bilder enthalten und welche bereits durchsuchbaren Text enthalten?

Ich habe vor, dies in C# oder VB.NET zu tun, aber ich glaube nicht, dass die Unterscheidung der beiden Dateitypen sprachabhängig ist.

War es hilfreich?

Lösung

In PDF konvertierte gescannte Bilder, die anschließend mit OCR bearbeitet wurden, um den Text durchsuchbar zu machen, enthalten normalerweise die Textteile, die als „unsichtbar“ dargestellt werden.Was Sie also auf dem Bildschirm (oder beim Drucken auf Papier) sehen, ist immer noch das Originalbild.Aber wenn du suchen Bei Erfolg werden die Treffer hervorgehoben, die sich auf dem unsichtbaren Text befinden.

Ich würde Ihnen empfehlen, einen Blick auf die von XPDF abgeleiteten Befehlszeilentools zu werfen pdffonts(.exe), pdfinfo(.exe) Und pdftotext(.exe).Downloads finden Sie hier: http://www.foolabs.com/xpdf/download.html

Beispielverwendung von pdffonts:

C:\downloads\> pdffonts cisco-ip-phone-7911-guide6.1.pdf
name                                 type              emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------
LGOKFL+Univers-BlackOblique          Type 1C           yes yes no   13171  0
LGOKGM+Univers-Black                 Type 1C           yes yes no   13172  0
[....]

Dieses PDF verwendet Schriftarten (gekennzeichnet durch die Spalte „Name“), hat sie eingebettet (gekennzeichnet durch das „Ja“ in der Spalte „Einbettung“) und verwendet Teilschriften (gekennzeichnet durch das „Ja“ in der Spalte „Unter“).

C:\downloads\> pdffonts examle1.pdf
name                                 type              emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------
Univers-BlackOblique                 Type 1C           yes no  no   14    0
Arial                                TrueType          no  no  no   15    0

Dieses PDF verwendet 2 Schriftarten (erkennbar an der Spalte „Name“).Die Schriftart „Universe-BlackOblique“ ist vollständig eingebettet (erkennbar an „yes“ in der Spalte „emb“ und „no“ in der Spalte „sub“).Die Schriftart „Arial“ wird ebenfalls verwendet, ist jedoch nicht eingebettet.

C:\downloads\> pdffonts examle2.pdf
name                                 type              emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------

Dieses PDF verwendet keine einzige Schriftart und enthält daher keinen eingebetteten Text (also auch keine OCR).

Beispielverwendung von pdftotext:

C:\downloads\> pdftotext ^
                   -layout ^
                   cisco-ip-phone-7911-guide6.1.pdf ^
                   cisco-ip-phone-7911-guide6.1.txt

Dadurch werden alle Textzeichenfolgen aus der PDF-Datei extrahiert (wobei versucht wird, eine gewisse Ähnlichkeit mit dem Originallayout beizubehalten).Wenn das PDF keinen Text enthält, wissen Sie, dass keine OCR vorhanden ist ...

Andere Tipps

Verschiedene PDF-Tools können Ihnen sagen, ob Text vorhanden ist.Einige sind als COM-Steuerelemente und möglicherweise sogar als native .NET-Steuerelemente verfügbar.

Öffnen Sie das Dokument in Acrobat.Gehen Sie zu Datei -> Eigenschaften.Suchen Sie im Abschnitt „Erweitert“ nach dem PDF-Produzenten.Wenn dort etwas wie „Paper Capture…“ steht, wurde es mit OCR bearbeitet.

Hoffe das hilft.

Apagos pdfspy extrahiert Informationen aus PDF in eine XML-Datei.Es enthält Informationen zum Dokument, einschließlich Bildern und Text.Zu den nützlichen Informationen für Ihr Projekt gehören die Anzahl und Größe der Bilder sowie die Position von OCR-Text (versteckt).

http://www.apagoinc.com/pdfspy

Es tut mir leid, den alten Thread auszugraben, aber wenn Sie das gefunden haben, schauen Sie sich meinen Thread an:

Batch-OCR-Programm für PDFs

Sie können zusätzliche Informationen über das PDF erhalten, indem Sie es unter Unix/Linux/OSX catten oder es in Python im „rb“-Modus öffnen.(Natürlich ist das Python und Sie wollten das nicht verwenden, aber vielleicht hat es etwas Äquivalentes).

Verwenden Sie „dtsearch“, um einen Index für alle PDF-Dateien zu erstellen ...Anschließend „Anzeigen der Protokolldatei“ des Indexierungsprozesses, um die Liste der nicht indizierten PDF-Dateien zu überprüfen.

Eine sehr Low-Tech-Lösung:Jede Datei, die gescannten Text enthält, enthält zweifellos den Buchstaben „a“. Führen Sie daher eine Suche nach allen Dateiinhalten durch, die den Buchstaben „a“ nicht enthalten.d.h."Kein".Alle angezeigten Dateien wurden nicht mit OCR bearbeitet

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top