
PDFlib TET (Text Extraction Toolkit) extrahiert zuverlässig Text, Bilder und Metadaten aus PDF-Dokumenten. TET stellt den Text eines PDF-Dokuments als Unicode-Strings zur Verfügung und liefert detaillierte Informationen über Fonts und Zeichen sowie die Position auf der Seite. Rasterbilder werden in gebräuchliche Bilddatenformate extrahiert. Optional kann TET die PDF-Dokumente in ein XML-basiertes Format namens TETML konvertieren, das Text und Metadaten sowie Ressource-Informationen enthält.
TET verfügt über ausgefeilte Algorithmen zur Inhaltsanalyse und kann damit Wortgrenzen erkennen, Text zu Spalten zusammenfassen oder redundanten Text entfernen, zum Beispiel Schatteneffekte oder künstliche Fettschrift. Mit der pCOS-Schnittstelle können Sie zudem beliebige Objekte aus einem PDF-Dokument abfragen, zum Beispiel Metadaten oder interaktive Elemente. Mit PDFlib TET können Sie:
eine Suchmaschine für PDF-Dokumente implementieren
Texte und Bilder aus PDFs wieder verwerten
Inhalte von PDFs in andere Formate konvertieren
PDFs abhängig von ihren Inhalten verarbeiten, z.B. anhand von Überschriften aufteilen (erfordert zusätzlich PDFlib+PDI)
TET verarbeitet alle gängigen Varianten von PDF:
PDF 1.0 bis PDF 1.7 extension level 8 und PDF 2.0, gemäß Acrobat 1-XI
Geschützte PDFs, die zum Öffnen kein Kennwort erfordern
Beschädigte PDF-Eingabedokumente werden repariert
Da Textinhalte in PDF üblicherweise nicht in Unicode kodiert sind, normalisiert PDFlib TET sämtlichen Text zu Unicode:
TET konvertiert alle Textinhalte nach Unicode. In C und anderen Sprachen, die Unicode nicht direkt unterstützen, wird der Text in den Formaten UTF-8 oder UTF-16 zurückgegeben, in Unicode-fähigen Sprachen als normale String-Objekte.
Ligaturen und andere zusammengesetzte Zeichen werden als Sequenz der zugehörigen Unicode-Zeichen ausgegeben.
Zeichen ohne eigene Unicode-Zuordnung werden erkannt und auf ein konfigurierbares Ersatzzeichen abgebildet, um Fehlinterpretationen zu verhindern.
In TET sind verschiedene Workarounds für bestimmte Erzeugerprogramme implementiert, etwa für InDesign- und TeX-Dokumente oder PDFs, die auf Mainframe-Systemen generiert wurden.
TET beinhaltet ausgefeilte Algorithmen zur Inhaltsanalyse:
Patentierter Algorithmus zur Erkennung von Wortgrenzen, was zur korrekten Erkennung von Wörtern erforderlich ist.
Getrennte Silben werden wieder zu Wörtern zusammengesetzt (Enttrennung).
Redundanter Text wird entfernt, zum Beispiel bei Schatteneffekten oder künstlicher Fettschrift.
Absätze werden gemäß der Lesereihenfolge verknüpft.
Über die Seite verteilter Text wird geeignet sortiert.
TET analysiert die Seiteninhalte, um Textspalten zu erkennen. Tabellen werden erkannt – inklusive Tabellenzellen, die sich über mehrere Textspalten erstrecken. Damit lässt sich die Sortierung des extrahierten Textes verbessern. Tabellenzeilen und der Inhalt einzelner Tabellenzellen werden als solche markiert.
TET liefert genaue geometrische Angaben zum Text, zum Beispiel die Position auf der Seite, die Zeichenbreiten und die Textrichtung. Beim Extrahieren von Text können Seitenbereiche explizit ausgeschlossen oder einbezogen werden, zum Beispiel um Kopf- und Fußzeilen oder Seitenränder zu übergehen.
Bilder auf den Seiten einer PDF-Datei lassen sich als TIFF,- JPEG-, JPEG-2000- oder JBIG2-Dateien speichern. Zusätzlich werden genaue geometrische Informationen (Position, Größe und Winkel) für jedes Bild geliefert. Fragmentierte Bilder werden zu einem größeren Bild zusammengesetzt, um die Wiederverwertung zu vereinfachen. Die originalgetreue Darstellung ist dadurch garantiert, dass beim Extrahieren keine Neuberechnung der Auflösung (Downsampling) und keine Farbraumtransformation stattfindet. Damit erhält TET die höchstmögliche Bildqualität.
Die TET- Bibliothek enthält die Programmierschnittstelle pCOS, mit der sich Detailinformationen aus dem PDF-Dokument abfragen lassen, etwa Dokumentinfofelder, XMP-Metadaten, Fontlisten, Seitengrößen und vieles andere.
TET verfügt über spezielle Verfahren und Hilfsmittel zur Behandlung verschiedener Klassen von PDFs, deren Text sich mit anderen Produkten nicht korrekt extrahieren lässt. Außerdem bietet TET zahlreiche Konfigurationsmöglichkeiten, mit denen sich die Verarbeitung problematischer Dokumente erheblich verbessern lässt:
Das Unicode-Mapping lässt sich mit eigenen Tabellen anpassen, die Zeichencodes oder Glyphnamen auf Unicode abbilden.
PDFlib FontReporter ist ein zusätzliches Werkzeug für die Analyse von Fonts, Encodings und Glyphen in PDF-Dokumenten. Es ist als kostenloses Plugin für Adobe Acrobat kostenlos für Mac und Windows verfügbar.
Eingebettete Schriften werden nach Daten durchsucht, die beim Unicode-Mapping nützlich sind. Ist eine Schrift nicht eingebettet, lässt sich die Extraktion durch externe Fontdateien oder Systemschriften weiter verbessern.
TET unterstützt Unicode-basierte Verarbeitungsschritte zur Verbesserung der Suchergebnisse:
Foldings erhalten, entfernen oder ersetzen Zeichen, um z.B. Interpunktionszeichen oder Zeichen aus einem irrelevanten Schriftsystem herauszufiltern.
Decompositions ersetzen ein Zeichen mit einer äquivalenten Folge von einem oder mehreren anderen Zeichen, z.B. Ersetzen von schmalen, breiten oder vertikalen japanischen Zeichen oder lateinischen hochgestellten Zeichen mit dem entsprechenden normalen Zeichen.
Text kann in alle vier Unicode-Normalformen konvertiert werden, um z.B. Texte in NFC-Form auszugeben, damit sie den Anforderungen für Web-Text oder Datenbanken entsprechen.
PDF-Dokumente können nicht nur auf den eigentlichen Seiten Text enthalten. Obwohl die meisten Anwendungsprogramme sich ausschließlich mit dem Seiteninhalt befassen, können auch andere Bereiche relevant sein. TET extrahiert deshalb Texte aus den folgenden Bereichen:
Seiteninhalt
Vordefinierte oder benutzerdefinierte Dokumentinfofelder
XMP-Metadaten auf Dokument- und Bildebene
Lesezeichen
Dateianlagen und PDF-Portfolios werden rekursiv verarbeitet
Formularfelder
Kommentare (Anmerkungen)
Allgemeine PDF-Eigenschaften können abgefragt werden, etwa die Seitenanzahl, die Übereinstimmung mit Standards wie PDF/A oder PDF/X etc.
TET unterstützt XMP-Metadaten auf mehrere Arten:
Mit der integrierten pCOS-Schnittstelle lassen sich XMP-Metadaten für das Dokument, einzelne Seiten, Bilder oder andere Teile des Dokuments programmatisch abfragen.
Die TETML-Ausgabe enthält die XMP-Daten des Dokuments und der Bilder, sofern im PDF vorhanden.
Werden Bilder in den Formaten TIFF oder JPEG exportiert, übergibt TET auch XMP-Metadaten.
Optional kann TET die Inhalte einer PDF-Datei in einer XML-Variante namens TETML darstellen, mit der sich eine Vielzahl der im PDF enthaltenen Informationen in einer Form darstellen lässt, die für gebräuchliche XML-Werkzeuge zugänglich ist. TETML enthält den eigentlichen Text, optional ergänzt durch Fontinformationen und Positionsangaben, Details zu den Ressourcen (Schriften, Bilder, Farbräume) und Metadaten.
TETML wird durch ein zugehöriges XML-Schema definiert, damit TET immer eine konsistente und zuverlässige XML-Ausgabe liefert. TETML lässt sich mit XSLT-Stylesheets verarbeiten, um z. B. Filter anzuwenden oder TETML in andere Formate zu konvertieren. Die TET-Distribution enthält Beispiele für XSLT-Stylesheets zur Verarbeitung von TETML.
Der folgende Ausschnitt zeigt TETML mit Details für die Glyphen:
<Word>
<Text>PDFlib</Text>
<Box llx="111.48" lly="636.33" urx="161.14" ury="654.33">
<Glyph font="F1" size="18" x="111.48" y="636.33" width="9.65">P</Glyph>
<Glyph font="F1" size="18" x="121.12" y="636.33" width="11.88">D</Glyph>
<Glyph font="F1" size="18" x="133.00" y="636.33" width="8.33">F</Glyph>
<Glyph font="F1" size="18" x="141.33" y="636.33" width="4.88">l</Glyph>
<Glyph font="F1" size="18" x="146.21" y="636.33" width="4.88">i</Glyph>
<Glyph font="F1" size="18" x="151.08" y="636.33" width="10.06">b</Glyph>
</Box>
</Word>
TET-Konnektoren verbinden TET mit anderer Software. Die folgenden TET-Konnektoren ermöglichen die Textextraktion aus PDF in verschiedenen Softwareumgebungen:
TET-Konnektor für die Suchmaschine Lucene
TET-Konnektor für den Solr Search Server
TET-Konnektor für das TIKA Toolkit
TET-Konnektor für Oracle Text
TET-Konnektor für MediaWiki
TET PDF IFilter für Microsoft-Umgebungen ist als separates Produkt erhältlich. Es extrahiert Text und Metadaten aus PDF-Dokumenten und macht sie Such- und Retrieval-Software unter Windows zugänglich.
Das TET Cookbook ist eine Sammlung von Programmierbeispielen, die den Einsatz von TET bei verschiedensten Aufgabenstellungen der Text- und Bildextraktion demonstrieren. Zahlreiche Cookbook-Beispiele zeigen auch, wie sich TET und PDFlib+PDI kombinieren lassen, um PDF-Dokumente zu verarbeiten und anzureichern, etwa durch Lesezeichen oder Links auf Basis des Textinhalts.