function ExtractDocumentTables(
const Options: TPdfTableExtractionOptions): TPdfTables;
Die Methode besucht die Seiten in Dokumentreihenfolge, wendet ExtractTables an, teilt die konfigurierten Zell- und Tabellen-Budgets über den vollständigen Scan auf und stellt die Seite wieder her, die vor dem Aufruf aktiv war
Wenn DetectContinuations aktiviert ist, bilden zwei Tabellen auf aufeinanderfolgenden Seiten eine Kette, wenn jede Spaltengrenze innerhalb der Toleranz übereinstimmt und entweder beide Fragmente dicht an ihren Seitenrändern innerhalb von ContinuationMargin liegen oder kein weiterer Text unter dem ersten Fragment und über dem zweiten liegt; laufende Kopf- und Fußzeilen innerhalb des Randes werden ignoriert. Ein Fragment, dessen erste Zeile eine einzelne Zelle über die volle Breite ist, trägt eine Beschriftung und beginnt immer eine neue Tabelle
Fragmente mit Linien, die weniger Zeilen als MinRows haben, werden während eines Dokument-Scans beibehalten, wenn sich herausstellt, dass sie das Gitter der vorherigen Seite fortsetzen, sodass eine einzelne Zeile, die über einen Seitenumbruch hinausläuft, nicht verloren geht
TPdfTableExtractionOptions schaltet die beiden Strategien mit DetectRuledTables und DetectWhitespaceTables frei, begrenzt die Akzeptanz mit MinRows, MinColumns und HeaderRowCount und justiert die Geometrie über die Toleranzfelder einschließlich ContinuationMargin für den Kettenabgleich
ptcNone kennzeichnet eine unabhängige TabelleptcStart kennzeichnet die erste Tabelle in einer KetteptcMiddle kennzeichnet eine innere Tabelle in einer KetteptcEnd kennzeichnet die letzte Tabelle in einer KetteContinuationGroup verknüpft jedes Mitglied derselben Kettevar
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;