function ExtractDocumentTables(
const Options: TPdfTableExtractionOptions): TPdfTables;
Metoda odwiedza strony w kolejności dokumentu, stosuje ExtractTables, współdzieli skonfigurowane budżety komórek i tabel na potrzeby całego skanowania oraz przywraca stronę, która była aktywna przed wywołaniem
Gdy włączono DetectContinuations, dwie tabele na kolejnych stronach tworzą łańcuch, gdy każda granica kolumny pokrywa się w granicach tolerancji i oba fragmenty mieszczą się w ContinuationMargin od krawędzi swoich stron albo między pierwszym fragmentem a drugim nie leży żaden inny tekst; bieżące nagłówki i stopki wewnątrz marginesu są ignorowane. Fragment, którego pierwszy wiersz to jedna komórka obejmująca pełną szerokość, niesie podpis i zawsze zaczyna nową tabelę
Fragmenty z liniami, które mają mniej wierszy niż MinRows, są zachowywane podczas skanowania dokumentu, gdy okazuje się, że kontynuują siatkę z poprzedniej strony, dzięki czemu pojedynczy wiersz, który przelał się przez granicę strony, nie ginie
TPdfTableExtractionOptions włącza dwie strategie przez DetectRuledTables i DetectWhitespaceTables, ogranicza akceptację przez MinRows, MinColumns i HeaderRowCount, a geometrię dostraja polami tolerancji, w tym ContinuationMargin do dopasowywania łańcuchów
ptcNone oznacza tabelę niezależnąptcStart oznacza pierwszą tabelę w łańcuchuptcMiddle oznacza tabelę wewnętrzną w łańcuchuptcEnd oznacza ostatnią tabelę w łańcuchuContinuationGroup łączy wszystkie elementy tego samego łańcuchavar
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;