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 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);

Parameters

PageRangeEen paginabereik beginnend bij 1 zoals 1-3,7, of een lege string voor alle pagina's
FormatPDF_STRUCTURED_TEXT_JSON (0), PDF_STRUCTURED_TEXT_XHTML (1) of PDF_STRUCTURED_TEXT_CSV (2)
OptionsNul 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

Zie ook

ExtractStructuredPage, ExtractPageRangeText