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 String

DLL

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;空字串表示所有頁面
FormatPDF_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 表示萃取失敗

另請參閱

ExtractStructuredPage, ExtractPageRangeText