ExtractStructuredDocument
文字、擷取、結構化資料
描述
擷取所選頁面範圍、把這些頁面放在一起分析,然後傳回單一 schema 2 JSON 文件、單一語意 XHTML 文件,或協調過的 CSV 表格
語法
Delphi
Function TPDFlib.ExtractStructuredDocument(Const PageRange: WideString;
Format, Options: Integer): WideString;ActiveX
Function PDFlib::ExtractStructuredDocument(PageRange As String,
Format As Long, Options As Long) As StringDLL
const wchar_t* DLExtractStructuredDocument(int InstanceID,
const wchar_t* PageRange, int Format, int Options);
const char* DLExtractStructuredDocumentA(int InstanceID,
const char* PageRange, int Format, int Options);參數
| PageRange | 以 1 起算的頁面範圍,例如 1-3,7;空字串表示所有頁面 |
|---|---|
| Format | PDF_STRUCTURED_TEXT_JSON (0)、PDF_STRUCTURED_TEXT_XHTML (1) 或 PDF_STRUCTURED_TEXT_CSV (2) |
| Options | 零,或 PDF_STRUCTURED_TEXT_INCLUDE_STYLES (1) |
傳回值
JSON 含有 version: 2 與 pages 陣列,schema 如 ExtractStructuredPage 所描述;穩定的語意節點 ID 跨頁面一致
XHTML 合併語意內容,接續的表格片段保持在同一個表格內,而不是每頁一個 section
CSV 只含表格,沒有任何所選頁面有表格時為空;接續的邏輯表格共用一個表頭,並省略已辨識的重複表頭列
範圍、格式或選項無效,以及任何萃取失敗,都傳回空字串
備註
分析使用 SetStructuredTextOptions,與各格式專屬的 Options 分開;讀取來源與後備警告請看 GetLastStructuredTextDiagnostics
內容繫結完整時,真實標籤樹順序優先;未解析或不明確的內容會以 mixed 或 geometric 後備保留萃取文字,未知自訂角色不會從名稱猜測
跨頁分析會辨識重複的邊界附屬元素與相容的表格接續;預設旗標會辨識附屬元素並保留其文字
標記儲存格保留空白內容與明確的 row span、column span;格式錯誤或重疊的表格格線會在保留萃取文字的情況下後備
所選頁面模型會為文件層級分析保留,完整的序列化結果也會緩衝;記憶體隨所選內容與輸出大小增長
擷取會保留所選頁面與開啟中的寫入器標籤堆疊;目前未儲存的寫入器標籤會在不關閉標籤、不結束文件的狀態下納入輸出
進度與合作式取消走一般文件操作生命週期
LastErrorCode 為 111 表示輸入無效,515 表示萃取失敗