function ExtractDocumentTables(
const Options: TPdfTableExtractionOptions): TPdfTables;
La méthode parcourt les pages dans l’ordre du document, applique ExtractTables, partage les budgets configurés de cellules et de tableaux sur le balayage complet et restaure la page active avant l’appel
Lorsque DetectContinuations est activé, deux tableaux sur des pages consécutives forment une chaîne lorsque chaque limite de colonne correspond dans la tolérance et que soit les deux fragments se tiennent à l'intérieur de ContinuationMargin de leurs bords de page, soit aucun autre texte ne se trouve sous le premier fragment et au-dessus du second ; les en-têtes et pieds de page courants à l'intérieur de la marge sont ignorés. Un fragment dont la première ligne est une seule cellule occupant toute la largeur porte une légende et commence toujours un nouveau tableau
Les fragments à filets comptant moins de lignes que MinRows sont conservés pendant un balayage de document lorsqu'ils s'avèrent continuer la grille de la page précédente, de sorte qu'une ligne unique débordant d'un saut de page ne se perd pas
TPdfTableExtractionOptions conditionne les deux stratégies avec DetectRuledTables et DetectWhitespaceTables, borne l’acceptation avec MinRows, MinColumns et HeaderRowCount, et ajuste la géométrie via les champs de tolérance, dont ContinuationMargin pour l’appariement des chaînes
ptcNone identifie un tableau indépendantptcStart identifie le premier tableau d’une chaîneptcMiddle identifie un tableau intermédiaire d’une chaîneptcEnd identifie le dernier tableau d’une chaîneContinuationGroup relie tous les membres d’une même chaînevar
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;