PDFium Delphi Component 文件

ApplyOcrSearchLayer 方法

组件: TPdf  ·  单元: PDFium
通过应用程序提供的 OCR 提供方为扫描页面添加不可见的可搜索文本层

语法

function ApplyOcrSearchLayer(
  const Provider: IPdfOcrProvider;
  const Options: TPdfOcrOptions;
  out Report: TPdfOcrReport;
  const CancellationToken: IPdfCancellationToken = nil): Boolean;

提供方契约

库通过 PDFium 渲染每个选中的页面,并把一张紧凑的自上而下 popfBgra32 图像传给 IPdfOcrProvider.RecognizePage

提供方返回 TPdfOcrWord 值,其 Quad 坐标使用像素单位,原点位于图像左上角

文本置信度必须处于 0 到 1 范围内,四边形顶点必须留在提供的图像内部

输出行为

选项与预算

FirstPageLastPage 选择一个闭区间范围,0 则表示文档边界

SkipPagesWithText 避免重复已有的可搜索文本层,ContinueOnError 控制页面级恢复

在页面变更之前以失败关闭方式强制执行的预算包括 MaxPixelsPerPageMaxTotalPixels 像素、MaxWordsPerPageMaxTotalWords 单词数、每个单词的 MaxWordCharacters 字符数,以及置信度和 DPI

示例

var
  Options: TPdfOcrOptions;
  Report: TPdfOcrReport;
begin
  Options := TPdfOcrOptions.Default;
  Options.Dpi := 300;
  Options.MinConfidence := 0.75;
  if Pdf1.ApplyOcrSearchLayer(OcrProvider, Options, Report) then
    Pdf1.SaveAs('searchable.pdf');
end;

参见

DetectPageSkew, GetStructuredText, Text