PDFium Delphi Component 文件

ExtractDocumentTables 方法

元件: TPdf  ·  單元: PDFium
跨每一頁擷取表格,並標記相符的跨頁延續

Syntax

function ExtractDocumentTables(
  const Options: TPdfTableExtractionOptions): TPdfTables;

Description

此方法會依文件順序逐一走訪頁面、套用 ExtractTables、在完整掃描期間共用所設定的儲存格與表格額度,並回復呼叫前作用中的頁面

啟用 DetectContinuations 時,連續兩頁上的兩個表格在以下情況形成一條鏈:每個欄位邊界都在容許誤差內相符,且兩個片段都落在各自頁面邊緣的 ContinuationMargin 範圍內,或第一個片段之下、第二個片段之上沒有其他文字;位於邊界內的循環頁首與頁尾會被忽略。首列是橫跨全寬的單一儲存格的片段帶有標題,並且總是開啟一個新表格

列數少於 MinRows 的線框片段在文件掃描期間會被保留——當確認它們是在延續上一頁的網格時,這樣跨頁溢出的單一列就不會遺失

TPdfTableExtractionOptions 以 DetectRuledTables 與 DetectWhitespaceTables 控制兩種策略的啟用,以 MinRows、MinColumns 與 HeaderRowCount 限制接受條件,並以各個容許誤差欄位(包括用於鏈比對的 ContinuationMargin)微調幾何判斷

Continuation values

Example

var
  Options: TPdfTableExtractionOptions;
  Tables: TPdfTables;
  I: Integer;
begin
  Options := TPdfTableExtractionOptions.Default;
  Tables := Pdf1.ExtractDocumentTables(Options);
  for I := 0 to High(Tables) do
    Memo1.Lines.Add(Tables[I].ToJson);
end;

See Also

ExtractTables, GetStructuredText