function ExtractDocumentTables(
const Options: TPdfTableExtractionOptions): TPdfTables;
メソッドはドキュメント順にページをたどり、ExtractTables を適用します。設定されたセルとテーブルの予算はスキャン全体で共有され、呼び出し前にアクティブだったページが復元されます
DetectContinuations が有効な場合、連続するページ上の 2 つのテーブルは、すべての列境界が許容差内で一致し、かつ両方の断片がページ端から ContinuationMargin 以内に収まっているか、最初の断片の下かつ 2 番目の断片の上に他のテキストが存在しない場合にチェーンを形成します。マージン内の繰り返しヘッダーとフッターは無視されます。最初の行が全幅にわたる 1 つのセルである断片はキャプションを持つものであり、常に新しいテーブルを開始します
MinRows より行数の少ない罫線テーブルの断片は、前ページのグリッドの続きと判明した場合にはドキュメントスキャン中も保持されます。そのため、ページ境界をまたいで溢れた 1 行が失われることはありません
TPdfTableExtractionOptions は、DetectRuledTables と DetectWhitespaceTables で 2 つの検出方式を切り替え、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;