function ExtractDocumentTables(
const Options: TPdfTableExtractionOptions): TPdfTables;
此方法會依文件順序逐一走訪頁面、套用 ExtractTables、在完整掃描期間共用所設定的儲存格與表格額度,並回復呼叫前作用中的頁面
啟用 DetectContinuations 時,連續兩頁上的兩個表格在以下情況形成一條鏈:每個欄位邊界都在容許誤差內相符,且兩個片段都落在各自頁面邊緣的 ContinuationMargin 範圍內,或第一個片段之下、第二個片段之上沒有其他文字;位於邊界內的循環頁首與頁尾會被忽略。首列是橫跨全寬的單一儲存格的片段帶有標題,並且總是開啟一個新表格
列數少於 MinRows 的線框片段在文件掃描期間會被保留——當確認它們是在延續上一頁的網格時,這樣跨頁溢出的單一列就不會遺失
TPdfTableExtractionOptions 以 DetectRuledTables 與 DetectWhitespaceTables 控制兩種策略的啟用,以 MinRows、MinColumns 與 HeaderRowCount 限制接受條件,並以各個容許誤差欄位(包括用於鏈比對的 ContinuationMargin)微調幾何判斷
ptcNone 表示獨立的表格ptcStart 表示鏈中的第一個表格ptcMiddle 表示鏈中間的表格ptcEnd 表示鏈中的最後一個表格ContinuationGroup 會連結同一條鏈的所有成員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;