function ExtractDocumentTables(
const Options: TPdfTableExtractionOptions): TPdfTables;
Метод обходит страницы в порядке документа, применяет ExtractTables, разделяет настроенные бюджеты ячеек и таблиц на всё сканирование целиком и восстанавливает страницу, активную до вызова
Когда включён DetectContinuations, две таблицы на последовательных страницах образуют цепочку, когда каждая граница столбца совпадает в пределах допуска и либо оба фрагмента лежат в пределах ContinuationMargin от краёв своих страниц, либо под первым фрагментом и над вторым не лежит другой текст; текущие верхние и нижние колонтитулы внутри поля игнорируются. Фрагмент, чья первая строка — одна ячейка на всю ширину, несёт подпись и всегда начинает новую таблицу
Фрагменты с линиями разметки, в которых меньше строк, чем MinRows, сохраняются при сканировании документа, если оказывается, что они продолжают сетку с предыдущей страницы, — так одиночная строка, перелившаяся за границу страницы, не теряется
TPdfTableExtractionOptions разрешает две стратегии через DetectRuledTables и DetectWhitespaceTables, ограничивает принятие результатов полями MinRows, MinColumns и HeaderRowCount и настраивает геометрию полями допусков, включая ContinuationMargin для сопоставления цепочек
ptcNone обозначает независимую таблицуptcStart обозначает первую таблицу в цепочкеptcMiddle обозначает промежуточную таблицу в цепочкеptcEnd обозначает последнюю таблицу в цепочкеContinuationGroup связывает всех участников одной цепочки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;