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 StringDLL
const wchar_t* DLExtractStructuredPage(int InstanceID, int Page,
int Format, int Options);
const char* DLExtractStructuredPageA(int InstanceID, int Page,
int Format, int Options);Parametre
| Page | The one-based page number |
|---|---|
| Format | PDF_STRUCTURED_TEXT_JSON (0), PDF_STRUCTURED_TEXT_XHTML (1), or PDF_STRUCTURED_TEXT_CSV (2) |
| Options | Zero 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