ExtractStructuredPage

متن، استخراج، دادهٔ ساخت‌یافته

توضیحات

یک صفحه را به مدل متن ساخت‌یافته رندر و به‌صورت JSON، XHTML یا CSV سریالایز می‌کند

مدل، متن را به پاراگراف‌ها و جدول‌های تشخیص‌داده‌شده گروه می‌کند، با خطوط و قطعه‌های استایل‌دار زیر پاراگراف‌ها و سطرها، سلول‌ها و قطعه‌ها زیر جدول‌ها

نحو

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

پارامترها

Pageشمارهٔ صفحه با مبنای یک
FormatPDF_STRUCTURED_TEXT_JSON (0)، PDF_STRUCTURED_TEXT_XHTML (1) یا PDF_STRUCTURED_TEXT_CSV (2)
Optionsصفر یا PDF_STRUCTURED_TEXT_INCLUDE_STYLES (1) برای گنجاندن فونت، اندازه، رنگ و تراز عمودی در JSON و XHTML

سلسله‌مراتب 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": [[]]}
  ]
}

مقادیر بازگشتی

JSON و XHTML سندهای مستقل کامل برمی‌گردانند

CSV فقط جدول‌های شناسایی‌شده را برمی‌گرداند و وقتی صفحه جدولی ندارد خالی استدرخواست نامعتبر یا شکست استخراج، رشتهٔ خالی برمی‌گرداند

ملاحظات

متن یک بار رندر می‌شود و سپس هر قالب از همان سلسله‌مراتب میانی تولید می‌شودتشخیص جدول، گپ‌های معمول کلمه را درون سلول ادغام می‌کند و ردیف‌های چندسلولی هم‌تراز لازم دارد، که مثبت کاذب پاراگراف را کم می‌کند

کادرهای محاطی از مختصات بالا-چپ صفحه استفاده می‌کنند و بر حسب point بیان می‌شونداشاره‌گرهای بازگشتی DLL تا فراخوانی بعدی برگردانندهٔ رشته روی همان instance معتبر می‌مانند

LastErrorCode برای صفحه، قالب یا گزینه‌های نامعتبر 111 و هنگام شکست استخراج 515 است

همچنین ببینید

ExtractStructuredDocument, ExtractPageTextBlocks, GetPageText