ExtractStructuredPage
Text, extraction, structured data
Aprašymas
Atvaizduoja vieną puslapį į struktūrinįjį teksto modelį ir serializuoja jį kaip JSON, XHTML arba CSV
Modelis grupuoja tekstą į pastraipas ir aptiktąsias lenteles, o po pastraipomis yra eilutės ir stilizuotieji iškarpos, o po lentelėmis – eilutės, langeliai ir iškarpos
Sintaksė
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);Parametrai
| Page | Puslapio numeris, skaičiuojamas nuo 1 |
|---|---|
| Format | PDF_STRUCTURED_TEXT_JSON (0), PDF_STRUCTURED_TEXT_XHTML (1) arba PDF_STRUCTURED_TEXT_CSV (2) |
| Options | Nulis arba PDF_STRUPDF_STRUCTURED_TEXT_INCLUDE_STYLES (1), kad JSON ir XHTML būtų įtraukti šriftas, dydis, spalva ir vertikalioji lygiavimas |
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": [[]]}
]
}Grąžinamos reikšmės
JSON ir XHTML grąžina pilnuosius savarankiškuosius dokumentus
CSV grąžina tik aptiktąsias lenteles ir būna tuščias, kai puslapyje nėra lentelės. Netinkamasis prašymas arba ištraukimo nesėkmė grąžina tuščią eilutę
Pastabos
Tekstas atvaizduojamas vienąkart, tada kiekvienas formatas gaminamas iš tos pačios tarpinės hierarchijos. Lentelių aptikimas sulieja įprastuosius žodžių tarpus langelio viduje ir reikalauja sulygiuotųjų daugialangelių eilučių, mažindama pastraipų klaidingąsias alegacijas
Aprėpties stačiakampiai naudoja viršutinės kairiosios puslapio koordinates ir išreiškiami PDF taškais. DLL grąžinami rodyklės lieka galiojantys iki kitos eilutę grąžinančios operacijos su tuo pačiu egzemplioriumi
LastErrorCode yra 111 netinkamam puslapiui, formatui arba parinktims ir 515, kai ištraukimas nepavyksta
Taip pat žr.
ExtractStructuredDocument, ExtractPageTextBlocks, GetPageText