PDFium Component Docs

ExtractDocumentTables Metoda

Component: TPdf  ·  Unit: PDFium
Wyodrębnia tabele ze wszystkich stron i oznacza pasujące kontynuacje między stronami

Syntax

function ExtractDocumentTables(
  const Options: TPdfTableExtractionOptions): TPdfTables;

Description

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

Continuation values

Example

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;

See Also

ExtractTables, GetStructuredText