ExtractStructuredPage

Text, extraction, structured data

Opis

Vykreslí jednu stránku do štruktúrovaného textového modelu a serializuje ju ako JSON, XHTML alebo CSV

Model zoskupuje text do odsekov a zistených tabuliek, pričom pod odsekmami sú riadky a naštýlované span a pod tabuľkami riadky, bunky a span

Syntax

Delphi

Function TPDFlib.ExtractStructuredPage(Page, Format,
  Options: Integer): WideString;

ActiveX

Function PDFlib::ExtractStructuredPage(Page As Long, Format As Long,
  Options As Long) As String

DLL

const wchar_t* DLExtractStructuredPage(int InstanceID, int Page,
  int Format, int Options);
const char* DLExtractStructuredPageA(int InstanceID, int Page,
  int Format, int Options);

Parametre

PageThe one-based page number
FormatPDF_STRUCTURED_TEXT_JSON (0), PDF_STRUCTURED_TEXT_XHTML (1), or PDF_STRUCTURED_TEXT_CSV (2)
OptionsZero or PDF_STRUCTURED_TEXT_INCLUDE_STYLES (1) to include font, size, colour, and vertical alignment in JSON and XHTML

JSON hierarchy

{
  "version": 1,
  "page": 1,
  "width": 612,
  "height": 792,
  "blocks": [
    {"type": "paragraph", "bbox": [40, 50, 300, 70],
     "lines": [{"bbox": [40, 50, 300, 70], "spans": []}]},
    {"type": "table", "columns": 3, "rows": [[]]}
  ]
}

Návratové hodnoty

JSON a XHTML vracajú kompletné samostatné dokumenty

CSV vracia len zistené tabuľky a je prázdne, keď stránka nemá žiadnu tabuľkuNeplatná požiadavka alebo zlyhanie extrakcie vráti prázdny reťazec

Remarks

Text sa renderuje raz a potom sa každý formát produkuje z tej istej medzistupňovej hierarchieDetekcia tabuliek zlučuje bežné medzery medzi slovami vnútri bunky a vyžaduje zarovnané viacbunkové riadky, čím znižuje falošne pozitívne odseky

Bounding boxy používajú súradnice stránky s ľavým horným rohom ako pôvodom a vyjadrujú sa v PDF bodochPointery vrátené z DLL zostávajú platné, kým ďalšie volanie vracajúce reťazec na tej istej inštancii neprepíše ich obsah

LastErrorCode is 111 for invalid page, format, or options and 515 when extraction fails

Pozri tiež

ExtractStructuredDocument, ExtractPageTextBlocks, GetPageText