PDFium Delphi Component 文件

ExtractDocumentTables 方法

组件: TPdf  ·  单元: PDFium
提取每个页面的表格并标记匹配的跨页接续

语法

function ExtractDocumentTables(
  const Options: TPdfTableExtractionOptions): TPdfTables;

说明

该方法按文档顺序访问页面,应用 ExtractTables,在完整扫描中共享配置的单元格和表格预算,并恢复调用之前活动的页面

启用 DetectContinuations 时,连续两页上的两个表格在以下情况形成一条链:每个列边界都在容差内匹配,且两个片段要么都位于其页面边缘的 ContinuationMargin 范围内,要么第一个片段之下、第二个片段之上没有其他文本;位于边距内的重复页眉和页脚会被忽略。首行是横跨全宽的单个单元格的片段带有标题,并且总是开启一个新表格

行数少于 MinRows 的标尺线片段在文档扫描期间会被保留——当它们被确认是在延续上一页的网格时,这样跨页溢出的单行就不会丢失

TPdfTableExtractionOptions 用 DetectRuledTables 和 DetectWhitespaceTables 控制两种策略的启用,用 MinRows、MinColumns 和 HeaderRowCount 约束接受条件,并用容差字段(包括用于链匹配的 ContinuationMargin)调整几何参数

接续值

示例

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;

参见

ExtractTables, GetStructuredText