ExtractStructuredPage
Testo, estrazione, dati strutturati
Descrizione
Esegue il rendering di una pagina in un modello di testo strutturato e lo serializza come JSON, XHTML o CSV
Il modello raggruppa il testo in paragrafi e tabelle rilevate, con righe e span con stile nei paragrafi e righe, celle e span nelle tabelle
Sintassi
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 | Il numero di pagina a base 1 |
|---|---|
| Format | PDF_STRUCTURED_TEXT_JSON (0), PDF_STRUCTURED_TEXT_XHTML (1) o PDF_STRUCTURED_TEXT_CSV (2) |
| Options | Zero oppure PDF_STRUCTURED_TEXT_INCLUDE_STYLES (1) per includere font, dimensioni, colore e allineamento verticale in JSON e XHTML |
Gerarchia JSON
{
"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 restituiti
JSON e XHTML restituiscono documenti autonomi completi
CSV restituisce solo le tabelle rilevate ed è vuoto quando la pagina non contiene tabelle
Una richiesta non valida o un errore di estrazione restituisce una stringa vuota
Note
Il testo viene sottoposto a rendering una volta, quindi ogni formato viene prodotto dalla stessa gerarchia intermedia
Il rilevamento delle tabelle unisce i normali spazi tra parole all'interno di una cella e richiede righe multicella allineate, riducendo i falsi positivi dei paragrafi
I riquadri di delimitazione usano coordinate di pagina con origine in alto a sinistra e sono espressi in punti PDF
I puntatori restituiti dalla DLL restano validi fino alla successiva chiamata che restituisce una stringa sulla stessa istanza
LastErrorCode è 111 per pagina, formato o opzioni non validi e 515 quando l'estrazione non riesce
Vedere anche
ExtractStructuredDocument, ExtractPageTextBlocks, GetPageText