Warum ist es so mühsam, Text aus einem PDF-Dokument zu extrahieren

Wenn ich ein Textbearbeitungswerkzeug wie Microsoft Word benutze, ist es ganz natürlich, dass ich einen Teil des Textes auswählen, in die Zwischenablage kopieren und in ein Fenster eines anderen Werkzeugs einfügen kann. Bei PDF ist das nicht der Fall. Zumindest nicht mit irgendeiner Art von Dokument. Warum ist das so?

In PDF, wie auch in anderen Dokumentformaten, basiert der Text auf Schriftarten. Schriftarten enthalten neben anderen Informationen eine Sammlung von Zeichen, die zur Zusammenstellung des Textes verwendet werden können. PDF unterstützt verschiedene Schriftartenformate wie Type 1, CFF, TrueType und OpenType. Schriftarten können in der Dokumentdatei eingebettet oder nach Namen referenziert werden.

In einer TrueType-Schriftart ist jedes Zeichen mit einem Unicode verknüpft. Ein Unicode ist eine standardisierte Nummer, die die Bedeutung eines Zeichens beschreibt, unabhängig von seinem Aussehen, z.B. die Zeichen a, a und a haben denselben Unicode, aber ein anderes Aussehen. In a font, the description of the appearance of a character is called a glyph. In einem Microsoft Word-Dokument werden die Unicodes verwendet, um den Text zu speichern. PDF dagegen wählt das Zeichen einer eingebetteten Schriftart nach seiner Glyphe-Nummer aus. Die Glyphe-Nummer ist lokal zur Schriftart und nur in Verbindung mit der bestimmten Schriftart gültig.

Diese Architektur hat einige Vorteile. Glyphen können eindeutig nummeriert werden, ohne das Unicode-System zu berücksichtigen, verschiedene Erscheinungsformen desselben Zeichens können in der gleichen Schriftart gebündelt werden, Glyphen können verwendet werden, ohne ihr Unicode zu kennen usw. Es gibt jedoch auch einige Nachteile.

Um die Größe einer PDF-Datei zu reduzieren, entfernen einige Produzenten die Unicodes und deren Zuordnung zu den Glyphen. Somit wird die Textextraktion aus solchen Dokumenten erschwert. Zumindest könnte man denken, dass diese Art von Dokumenten erkannt und entsprechend verarbeitet werden kann. But, even this is not true in general.

Auf dem Markt gibt es Produktionssoftware, die PDF-Dokumente mit korrekten Glyphenauswahlinformationen, aber falschen oder irreführenden Unicode-Informationen erstellt. Such documents look as if all Unicodes of the used characters were present but the association between the appearance and its meaning is wrong. In diesem Fall erscheint der extrahierte Text als Müll.

Especially a standard such as PDF/A-2u, which requires that all text can be mapped to Unicodes, does not guarantee that the Unicodes mapping is correct allthough the text appears to be meaningful when it is displayed in a reader software. Im Allgemeinen können nicht einmal Validierungssoftware eine solche Situation erkennen.

In order to find out whether a document contains extractable text in an automated - and to some extent reliable - way is to run the document through an OCR engine.

Gefällt Ihnen, was Sie sehen? Teilen Sie es mit einem Freund.

Grüezi! Wie können wir helfen?

Phone