function ApplyOcrSearchLayer(
const Provider: IPdfOcrProvider;
const Options: TPdfOcrOptions;
out Report: TPdfOcrReport;
const CancellationToken: IPdfCancellationToken = nil): Boolean;
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
FPDF_DeviceToPage preserva os page boxes e a rotação intrínsecaFPDF_TEXTRENDERMODE_INVISIBLETPdfOcrReport retornado totaliza ProcessedPageCount, FailedPageCount, DetectedWordCount, InsertedWordCount, RejectedWordCount e TotalRenderedPixels, enquanto cada entrada de TPdfOcrPageReport acrescenta ImageWidth, ImageHeight, DetectedWordCount, InsertedWordCount e RejectedWordCount por páginaFirstPage 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
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;