PDFium Delphi Component Docs

ExtractDocumentTables Methode

Komponente: TPdf  ·  Unit: PDFium
Extrahiert Tabellen über alle Seiten und markiert passende seitenübergreifende Fortsetzungen

Syntax

function ExtractDocumentTables(
  const Options: TPdfTableExtractionOptions): TPdfTables;

Beschreibung

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

Fortsetzungswerte

Beispiel

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;

Siehe auch

ExtractTables, GetStructuredText