Ich habe eine PDF-Datei mit wertvollen Textinformationen.
Das Problem ist, dass ich den Text nicht extrahieren kann, alles, was ich bekomme, ist ein Haufen verstümmelter Symbole. Das Gleiche passiert, wenn ich den Text vom PDF-Reader in eine Textdatei kopiere und einfüge. Sogar Datei - & gt; Als Text speichern in Acrobat Reader schlägt fehl.
Ich habe alle Werkzeuge benutzt, die ich bekommen konnte und das Ergebnis ist dasselbe. Ich glaube, das hat etwas mit der Schrifteinbettung zu tun, aber ich weiß nicht genau was?
Meine Fragen:
Einige PDF-Dateien werden ohne spezielle Informationen erstellt, die für die erfolgreiche Extraktion von Text aus ihnen entscheidend sind. Auch mit den Adobe-Tools. Im Grunde enthalten solche Dateien keine Zeichenzuordnungsinformationen.
Solche Dateien werden nur gut angezeigt und gedruckt (weil die Formen der Zeichen richtig definiert sind), aber Text von ihnen kann nicht richtig kopiert / extrahiert werden (weil es keine Informationen über die Bedeutung der verwendeten Glyphen / Formen gibt).
Distiller erzeugt beispielsweise solche Dateien, wenn die Voreinstellung "Kleinste Dateigröße" verwendet wird.
Außer OCR gibt es leider keine andere Möglichkeit, Text von solchen Dateien abzurufen.
Die ursprüngliche Antwort erwähnt die "Informationen über die Bedeutung der verwendeten Glyphen / Formen" . Diese Informationen sollten in einer PDF-Struktur namens /ToUnicode
table enthalten sein. Eine solche Tabelle wird für jede Schriftart benötigt, die als Teilmenge eingebettet ist und eine nicht standardmäßige Codierung ( Custom
) verwendet.
Um die Möglichkeit der Extrahierbarkeit von Textinhalten schnell zu bewerten, können Sie das Befehlszeilendienstprogramm pdffonts
verwenden. Dies druckt in tabellarischer Form eine Reihe von Elementen zu jeder von der PDF verwendeten Schriftart. Das Vorhandensein einer Tabelle /ToUnicode
wird durch die Spalte uni
angezeigt.
Einige Beispielausgaben:
%Vor% Mit good.pdf
können Sie den Textinhalt für beide Schriftarten korrekt extrahieren, da beide Schriftarten eine begleitende Tabelle /ToUnicode
enthalten.
Für bad1.pdf
und bad2.pdf
ist die Textextraktion nur für eine der beiden Schriften erfolgreich und für die andere fehlgeschlagen, weil nur eine Schriftart eine /ToUnicode
-Tabelle hat.
Ich, Kurt Pfeifle , habe kürzlich ein Serien von handcodierten PDF-Dateien , um den Einfluss von vorhandenen, fehlerhaften, manipulierten oder fehlenden /ToUnicode
-Tabellen in der PDF-Quellcode Diese PDFs sind ausführlich kommentiert und können mit Hilfe eines Texteditors untersucht werden. Über pdffonts
Ausgabebeispiele wurden mit Hilfe dieser handcodierten Dateien erstellt. (Es gibt ein paar mehr PDFs, die verschiedene Ergebnisse zeigen, die ein interessierter Leser vielleicht erkunden möchte ...)
Tags und Links pdf file-format text-analysis