ExtractStructuredDocument

Text, Extraktion, Strukturierte Daten

Beschreibung

Erfasst einen ausgewählten Seitenbereich, analysiert die Seiten gemeinsam und liefert ein JSON-Dokument in Schema 2, ein semantisches XHTML-Dokument oder koordinierte CSV-Tabellen

Syntax

Delphi

Function TPDFlib.ExtractStructuredDocument(Const PageRange: WideString;
  Format, Options: Integer): WideString;

ActiveX

Function PDFlib::ExtractStructuredDocument(PageRange As String,
  Format As Long, Options As Long) As String

DLL

const wchar_t* DLExtractStructuredDocument(int InstanceID,
  const wchar_t* PageRange, int Format, int Options);
const char* DLExtractStructuredDocumentA(int InstanceID,
  const char* PageRange, int Format, int Options);

Parameter

PageRangeEin einsbasierter Seitenbereich wie 1-3,7 oder eine leere Zeichenfolge für alle Seiten
FormatPDF_STRUCTURED_TEXT_JSON (0), PDF_STRUCTURED_TEXT_XHTML (1) oder PDF_STRUCTURED_TEXT_CSV (2)
OptionsNull oder PDF_STRUCTURED_TEXT_INCLUDE_STYLES (1)

Rückgabewerte

JSON enthält version: 2 und ein pages-Array nach dem Schema, das ExtractStructuredPage dokumentiert; stabile semantische Knoten-IDs gelten seitenübergreifend

XHTML kombiniert semantischen Inhalt, wobei zusammengeführte Tabellenfragmente innerhalb einer Tabelle bleiben, statt einen Abschnitt pro Seite zu verlangen

CSV enthält nur Tabellen und ist leer, wenn keine ausgewählte Seite eine besitzt; fortgeführte logische Tabellen verwenden eine Tabellenkopfzeile und lassen erkannte wiederholte Kopfzeilen weg

Ein ungültiger Bereich, ein ungültiges Format oder eine ungültige Option sowie jeder Extraktionsfehler geben eine leere Zeichenfolge zurück

Anmerkungen

Die Analyse verwendet SetStructuredTextOptions unabhängig von den formatspezifischen Options; prüfen Sie GetLastStructuredTextDiagnostics für Lesequellen und Ausweichwarnungen

Die echte Tag-Baum-Reihenfolge hat Vorrang, wenn Inhaltsbindungen vollständig sind; ungelöster oder mehrdeutiger Inhalt behält extrahierten Text im gemischten oder geometrischen Ausweichmodus, und unbekannte benutzerdefinierte Rollen werden nicht aus ihren Namen geraten

Seitenübergreifende Analyse erkennt wiederkehrenden Text nahe der Seitenränder und kompatible Tabellenfortsetzungen; die Standardflags erkennen diese Elemente und bewahren dabei ihren Text

Getaggte Zellen behalten leeren Inhalt sowie explizite Zeilen- und Spaltenspannen bei; fehlerhafte oder überlappende Tabellenraster fallen in den Ausweichmodus zurück und behalten dabei den extrahierten Text

Ausgewählte Seitenmodelle bleiben für die dokumentweite Analyse erhalten, und das vollständige serialisierte Ergebnis wird gepuffert; der Speicherbedarf wächst mit dem ausgewählten Inhalt und der Ausgabegröße

Die Extraktion bewahrt die ausgewählte Seite und den offenen Writer-Tag-Stapel; aktuelle nicht gespeicherte Writer-Tags werden ohne schließende Tags und ohne Finalisieren des Dokuments einbezogen

Fortschritt und kooperativer Abbruch verwenden den normalen Lebenszyklus von Dokumentvorgängen

LastErrorCode ist 111 bei ungültiger Eingabe und 515, wenn die Extraktion fehlschlägt

Siehe auch

ExtractStructuredPage, ExtractPageRangeText