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 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);

Parametrai

PagePuslapio numeris, skaičiuojamas nuo 1
FormatPDF_STRUCTURED_TEXT_JSON (0), PDF_STRUCTURED_TEXT_XHTML (1) arba PDF_STRUCTURED_TEXT_CSV (2)
OptionsNulis 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