PDFium Delphi Component Docs

ApplyOcrSearchLayer Método

Componente: TPdf  ·  Unidade: PDFium
Adiciona uma camada de texto invisível e pesquisável a páginas digitalizadas por meio de um provedor de OCR do aplicativo

Syntax

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

Provider contract

A biblioteca renderiza cada página selecionada por meio do PDFium e passa uma imagem popfBgra32 compacta, de cima para baixo, a IPdfOcrProvider.RecognizePage

O provedor retorna valores TPdfOcrWord cujas coordenadas Quad usam unidades de pixel com a origem no canto superior esquerdo da imagem

A confiança do texto deve estar na faixa de 0 a 1 e os pontos do quadrilátero devem permanecer dentro da imagem fornecida

Output behaviour

Options and budgets

FirstPage e LastPage selecionam um intervalo inclusivo, enquanto zero seleciona o limite do documento

SkipPagesWithText evita duplicar uma camada pesquisável existente e ContinueOnError controla a recuperação no nível da página

Orçamentos impostos de forma fail-closed antes da mutação da página cobrem MaxPixelsPerPage e MaxTotalPixels pixels, MaxWordsPerPage e MaxTotalWords palavras, MaxWordCharacters caracteres por palavra, além de confiança e DPI

Example

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;

See Also

DetectPageSkew, GetStructuredText, Text