ExtractStructuredPage
Văn bản, trích xuất, dữ liệu có cấu trúc
Mô tả
Render một trang thành một mô hình văn bản có cấu trúc rồi serialize thành JSON, XHTML hay CSV
Mô hình gộp chữ thành các đoạn văn và bảng được phát hiện, với dòng và span có định dạng nằm dưới đoạn văn, còn hàng, ô và span nằm dưới bảng
Cú pháp
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);Tham số
| Page | Số trang (bắt đầu từ 1) |
|---|---|
| Format | PDF_STRUCTURED_TEXT_JSON (0), PDF_STRUCTURED_TEXT_XHTML (1), or PDF_STRUCTURED_TEXT_CSV (2) |
| Options | Số không hoặc PDF_STRUCTURED_TEXT_INCLUDE_STYLES (1) để đưa phông, cỡ, màu và căn chỉnh dọc vào JSON và XHTML |
Phân cấp 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": [[]]}
]
}Giá trị trả về
JSON và XHTML trả về tài liệu độc lập hoàn chỉnh
CSV chỉ trả các bảng phát hiện được và rỗng khi trang không có bảng
CSV chỉ trả về các bảng được phát hiện và rỗng khi trang không có bảngYêu cầu không hợp lệ hoặc trích xuất thất bại trả về chuỗi rỗng
Ghi chú
Văn bản chỉ render một lần, sau đó mọi định dạng đều sinh ra từ cùng hệ phân cấp trung gianPhát hiện bảng gộp các khoảng cách từ bình thường bên trong một ô và đòi hỏi các hàng nhiều ô thẳng hàng, nhờ giảm báo nhầm đoạn văn
Bounding box dùng tọa độ trang gốc trên-trái và tính bằng PDF pointCác pointer trả về của DLL giữ hiệu lực cho đến lời gọi tiếp theo trả chuỗi trên cùng một instance
Bounding box dùng tọa độ trang gốc trên-trái và tính theo PDF point
Con trỏ trả về của DLL còn hiệu lực cho đến lời gọi trả chuỗi kế tiếp trên cùng instance
LastErrorCode là 111 khi trang, định dạng hoặc tùy chọn không hợp lệ, và 515 khi trích xuất thất bại
Xem thêm
ExtractStructuredDocument, ExtractPageTextBlocks, GetPageText