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 StringDLL
const wchar_t* DLExtractStructuredPage(int InstanceID, int Page,
int Format, int Options);
const char* DLExtractStructuredPageA(int InstanceID, int Page,
int Format, int Options);پارامترها
| Page | شمارهٔ صفحه با مبنای یک |
|---|---|
| Format | PDF_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