ExtractStructuredDocument
Tekst, extractie, gestructureerde gegevens
Beschrijving
Legt een geselecteerd paginabereik vast, analyseert de pagina's samen en geeft één schema-2-JSON-document, één semantisch XHTML-document of gecoördineerde CSV-tabellen terug
Syntaxis
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);Parameters
| PageRange | Een paginabereik beginnend bij 1 zoals 1-3,7, of een lege string voor alle pagina's |
|---|---|
| Format | PDF_STRUCTURED_TEXT_JSON (0), PDF_STRUCTURED_TEXT_XHTML (1) of PDF_STRUCTURED_TEXT_CSV (2) |
| Options | Nul of PDF_STRUCTURED_TEXT_INCLUDE_STYLES (1) |
Retourwaarden
JSON bevat version: 2 en een pages-array volgens het schema dat bij ExtractStructuredPage is gedocumenteerd; stabiele semantische node-ID's gelden over pagina's heen
XHTML combineert semantische content, waarbij samengevoegde tabelfragmenten binnen één tabel blijven in plaats van één section per pagina te vereisen
CSV bevat uitsluitend tabellen en is leeg wanneer geen enkele geselecteerde pagina er een heeft; voortgezette logische tabellen gebruiken één tabelkop en laten geïdentificeerde herhaalde koprijen weg
Een ongeldig bereik, formaat of optie en elke mislukte extractie geven een lege string terug
Opmerkingen
De analyse gebruikt SetStructuredTextOptions onafhankelijk van de formaatspecifieke Options; bekijk GetLastStructuredTextDiagnostics voor leesbronnen en fallback-waarschuwingen
Echte tag-tree-volgorde gaat voor wanneer contentbindingen compleet zijn; onopgeloste of dubbelzinnige content behoudt geëxtraheerde tekst in mixed- of geometric-fallback, en onbekende aangepaste rollen worden niet uit hun namen afgeleid
Analyse over pagina's heen herkent herhaalde paginarandelementen en compatibele tabelvervolgen; de standaardvlaggen herkennen randelementen terwijl hun tekst behouden blijft
Getagde cellen behouden lege content en expliciete rij- en kolomspans; misvormde of overlappende tabelrasters vallen terug terwijl geëxtraheerde tekst behouden blijft
Geselecteerde paginamodellen worden vastgehouden voor documentbrede analyse en het volledige geserialiseerde resultaat wordt gebufferd; het geheugen groeit met de geselecteerde content en de uitvoergrootte
Extractie behoudt de geselecteerde pagina en de open writer-tagstack; huidige niet-opgeslagen writer-tags worden zonder sluitingstags meegenomen zonder het document af te ronden
Voortgang en coöperatieve annulering gebruiken de normale levenscyclus van documentbewerkingen
LastErrorCode is 111 bij ongeldige invoer en 515 wanneer extractie mislukt