ExtractStructuredPage
Text, extraction, structured data
Descriere
Randează o pagină într-un model textual structurat și îl serializează ca JSON, XHTML sau CSV
Modelul grupează textul în paragrafe și tabele detectate, cu linii și secvențe stilizate sub paragrafe, și rânduri, celule și secvențe sub tabele
Sintaxă
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);Parametri
| Page | Numărul paginii, numerotat de la 1 |
|---|---|
| Format | PDF_STRUCTURED_TEXT_JSON (0), PDF_STRUCTURED_TEXT_XHTML (1) sau PDF_STRUCTURED_TEXT_CSV (2) |
| Options | Zero sau PDF_STRUCTURED_TEXT_INCLUDE_STYLES (1) pentru a include fontul, dimensiunea, culoarea și alinierea verticală în JSON și 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": [[]]}
]
}Valori returnate
JSON and XHTML return complete standalone documents
CSV returnează doar tabelele detectate și este gol când pagina nu are tabel O cerere invalidă sau un eșec de extragere returnează un șir gol
Remarks
Textul este randat o singură dată, apoi fiecare format este produs din aceeași ierarhie intermediară Detectarea tabelelor combină spațiile normale dintre cuvinte în interiorul unei celule și cere rânduri multi-celulă aliniate, reducând falsurile de paragraf
Bounding box-urile folosesc coordonate de pagină din stânga sus și sunt exprimate în puncte PDF Pointer-ele de retur DLL rămân valide până la următorul apel care returnează un șir, pe aceeași instanță
LastErrorCode este 111 pentru pagină, format sau opțiuni invalide și 515 când extragerea eșuează
Vedeți și
ExtractStructuredDocument, ExtractPageTextBlocks, GetPageText