PDF-Daten extrahieren: Tabellen und Felder zuverlässig auslesen
Warum eine Datei mit Textebene noch keine lesbaren Daten liefert und wie Positionstabellen, Zahlenformate und Scans sauber in prüfbare Felder kommen.
Aktualisiert am
PDF-Daten extrahieren heißt, aus einem Geschäftsdokument die Angaben herauszulösen, die ein anderes System weiterverarbeiten soll: Bestellnummer, Positionen, Mengen, Preise, Termine. Ob das gelingt, entscheidet zuerst die Datei selbst – ob sie Text enthält oder nur ein Bild, und wie dieser Text auf der Seite verteilt ist.
PDF-Daten extrahieren: was in der Datei wirklich steckt
Das Portable Document Format beschreibt, wie eine Seite aussieht, nicht, was sie bedeutet. Für die Extraktion zählen deshalb drei Arten von Dateien, die sich am Bildschirm kaum unterscheiden:
- Digital erzeugt. Das Dokument kommt direkt aus einem ERP, einer Warenwirtschaft oder einem Textprogramm. Es trägt eine Textebene: Jedes Zeichen ist als Zeichen gespeichert, mit Schrift und Position.
- Reiner Scan. Jede Seite ist ein Bild. Text gibt es erst, wenn eine Texterkennung ihn erzeugt; Vorlage und Auflösung bestimmen, was dabei herauskommt.
- Scan mit nachträglicher Textschicht. Ein Scanner oder ein Dienstleister hat bereits eine Erkennung laufen lassen und den Text unsichtbar unter das Bild gelegt. Die Datei wirkt durchsuchbar, doch die Schicht stammt aus einer fremden Erkennung und kann Ziffern vertauschen oder Spalten verschmelzen. Wer ihr ungeprüft folgt, übernimmt fremde Lesefehler.
Dazu kommen zwei Sonderfälle. Formulare mit ausfüllbaren Feldern speichern die Eingaben getrennt vom Seitenbild; hier liest man die Feldwerte direkt, statt die Seite zu interpretieren. Und manche Dokumente tragen strukturierte Daten in sich, etwa die hybride E-Rechnung mit eingebetteter XML-Datei. Dann ist diese XML-Datei die Quelle, und das Seitenbild dient nur noch dem Menschen. Am Anfang jeder Extraktion steht also eine Prüfung der Datei: Gibt es eine Textebene, ist sie glaubwürdig, gibt es Formularfelder oder Anhänge?
Warum die Textebene keine Lesereihenfolge kennt
Auch eine digital erzeugte Datei enthält keinen Fließtext, sondern Textfragmente mit Koordinaten. Ein Wort kann aus mehreren Fragmenten bestehen, und eine Zeile kann in der Datei an ganz anderer Stelle gespeichert sein, als sie auf der Seite erscheint.
Daraus entstehen die bekannten Effekte beim einfachen Kopieren: Zwei Spalten werden zeilenweise ineinander verschränkt, die Lieferanschrift rutscht zwischen Artikelbezeichnungen, Kopf- und Fußzeilen mit Seitenzahl und Firmenangaben tauchen mitten in der Positionsliste auf. Eine brauchbare Extraktion rekonstruiert deshalb zuerst das Layout: Blöcke, Spalten, Zeilen und Tabellen aus den Positionen der Fragmente.
Positionstabellen über mehrere Seiten
Positionen einer Bestellung, Mengen eines Lieferavis, Messwerte eines Prüfberichts: Solche Angaben stehen in Tabellen. In der Datei sind Tabellen nicht als Tabellen gespeichert. Linien sind Grafik, Zellen sind nur Text an benachbarten Koordinaten. Drei Situationen verlangen besondere Sorgfalt:
- Mehrseitige Tabellen. Der Tabellenkopf wiederholt sich auf jeder Folgeseite und darf nicht als Position gelesen werden. Eine Zeile kann am Seitenende beginnen und oben auf der nächsten Seite enden.
- Umbrochene Zellen. Eine lange Artikelbezeichnung läuft über zwei oder drei Zeilen. Ohne Regel wird aus einer Position eine Reihe von Scheinpositionen ohne Menge und Preis.
- Zwischensummen und Hinweise. Überträge, Rabattzeilen, Textpositionen für Verpackung oder Fracht und eingestreute Anmerkungen gehören nicht in dieselbe Liste wie die Artikel.
Eine einfache Kontrolle deckt mehrere dieser Fehler auf: Die Summe der gelesenen Positionen muss den ausgewiesenen Gesamtwert treffen, und die Zahl der Positionen sollte zur letzten Positionsnummer passen.
Zahlen, Einheiten und Datumsangaben
Ein erkannter Wert ist noch kein verwertbarer Wert. Deutsche Dokumente trennen Dezimalstellen mit einem Komma und Tausender mit einem Punkt, englischsprachige Lieferanten machen es genau umgekehrt. Dieselbe Zeichenfolge kann so einen um das Tausendfache abweichenden Betrag bedeuten. Wie gelesen wird, entscheiden Sprache des Dokuments, Währung und Plausibilität gegenüber der Bestellung – nicht eine feste Einstellung.
Ähnlich bei Mengen: Stück, Meter, Kilogramm, Karton oder Palette stehen in einer eigenen Spalte oder als Kürzel hinter der Zahl, und mancher Lieferant rechnet in Verpackungseinheiten, während die eigene Bestellung in Stück geführt wird. Datumsangaben erscheinen mit Tag vor Monat, Monat vor Tag, als Kalenderwoche oder ausgeschrieben. Jedes Feld braucht daher ein Zielformat und eine Umrechnung, die im Ergebnis nachvollziehbar bleibt.
PDF-Daten extrahieren mit Vorlagen oder mit Sprachmodell
Der klassische Weg arbeitet mit Vorlagen: Für jedes Layout wird festgelegt, in welchem Bereich der Seite welches Feld steht. Das ist berechenbar, doch mit jedem neuen Geschäftspartner kommt eine Vorlage hinzu, und ein geändertes Formular lässt die alte Vorlage stillschweigend falsche Werte liefern.
Sprachmodelle lesen den rekonstruierten Text ohne feste Koordinaten und finden Felder auch in unbekannten Layouts. Damit das Ergebnis prüfbar bleibt, braucht es zwei Vorgaben. Erstens ein festes Ausgabeschema: Welche Felder es gibt, welchen Typ sie haben und welche davon Pflicht sind, steht vorher fest. Zweitens eine Fundstelle je Feld, also Seite und Position im Dokument. Nur so sieht ein Mensch auf einen Blick, woher ein Wert stammt, und nur so lässt sich ein Konfidenzwert sinnvoll an das einzelne Feld hängen.
Beide Wege lassen sich verbinden: Wiederkehrende, stabile Layouts laufen über feste Regeln, alles andere über das Modell, und beide liefern ihr Ergebnis im selben Schema. Wie die Extraktion mit dem Erkennen des Dokumenttyps und dem anschließenden Abgleich zusammenspielt, beschreibt der Artikel intelligente Dokumentenverarbeitung.
Technische Hürden und typische Fehler
- Geschützte Dateien. Verschlüsselte oder passwortgeschützte Dokumente lassen sich erst auslesen, wenn jemand den Zugang hinterlegt; sie gehören sichtbar in eine Klärungsliste, nicht still in einen Ordner.
- Schriften ohne Zeichenzuordnung. Manche Programme betten Schriften ein, ohne zu speichern, welches Zeichen zu welcher Glyphe gehört. Die Seite sieht einwandfrei aus, der kopierte Text ist Kauderwelsch. Solche Seiten müssen wie ein Scan behandelt werden.
- Ligaturen und Sonderzeichen. Zusammengezogene Buchstaben wie fi oder ff, weiche Trennstriche und geschützte Leerzeichen zerreißen Artikelnummern und Suchbegriffe, wenn sie nicht vereinheitlicht werden.
- Der vorhandenen Textschicht vertrauen. Eine Erkennungsschicht aus einem unbekannten Scanner wird übernommen, ohne sie auf Plausibilität zu prüfen.
- Ohne Fundstelle speichern. Werte landen in der Datenbank, aber später kann niemand zeigen, wo sie im Dokument standen.
Am Anfang eines solchen Vorhabens steht nicht das Modell, sondern eine Stichprobe echter Dokumente des Betriebs: Welche Dateiarten kommen an, wie oft liegt nur ein Bild vor, welche Tabellen laufen über mehrere Seiten? Daraus entstehen Ausgabeschema und Prüfregeln. Gemessen wird an einem festen Satz ausgewerteter Dokumente, bevor etwas in das führende System geschrieben wird; welche Werte dabei erreicht werden müssen, legen wir im Angebot fest. Die Extraktion ist dabei ein Baustein unserer KI-Dokumentenverarbeitung; die Weitergabe der geprüften Daten gehört zum Dokumentenworkflow.
Dieser Beitrag ist eine allgemeine Information und keine Rechtsberatung.
Passende Leistungen
Verwandte Begriffe
Welche Abweichung ist bei Ihnen zuletzt erst im Wareneingang aufgefallen?
Schreiben Sie, welche Papiere Ihre Lieferanten und Spediteure schicken und in welches System ihre Daten heute abgetippt werden. Wir sagen dann, welche Dokumentarten sich eignen, wo eine feste Regel genügt und mit welchem Dokument wir beginnen würden.