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

Tham số

PageSố trang (bắt đầu từ 1)
FormatPDF_STRUCTURED_TEXT_JSON (0), PDF_STRUCTURED_TEXT_XHTML (1), or PDF_STRUCTURED_TEXT_CSV (2)
OptionsSố 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