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 StringDLL
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
| PageRange | Ein einsbasierter Seitenbereich wie 1-3,7 oder eine leere Zeichenfolge für alle Seiten |
|---|---|
| Format | PDF_STRUCTURED_TEXT_JSON (0), PDF_STRUCTURED_TEXT_XHTML (1) oder PDF_STRUCTURED_TEXT_CSV (2) |
| Options | Null 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