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;