function ApplyOcrSearchLayer(
const Provider: IPdfOcrProvider;
const Options: TPdfOcrOptions;
out Report: TPdfOcrReport;
const CancellationToken: IPdfCancellationToken = nil): Boolean;
La libreria disegna ogni pagina selezionata attraverso PDFium e passa a IPdfOcrProvider.RecognizePage un'immagine popfBgra32 compatta dall'alto verso il basso
Il provider restituisce valori TPdfOcrWord le cui coordinate Quad usano unità in pixel con l'origine nell'angolo in alto a sinistra dell'immagine
La confidenza del testo deve essere nell'intervallo da 0 a 1 e i punti del quadrilatero devono restare dentro l'immagine fornita
FPDF_DeviceToPage preserva i box di pagina e la rotazione intrinsecaFPDF_TEXTRENDERMODE_INVISIBLETPdfOcrReport restituito totalizza ProcessedPageCount, FailedPageCount, DetectedWordCount, InsertedWordCount, RejectedWordCount e TotalRenderedPixels, mentre ogni voce TPdfOcrPageReport aggiunge ImageWidth, ImageHeight, DetectedWordCount, InsertedWordCount e RejectedWordCount per paginaFirstPage e LastPage selezionano un intervallo inclusivo, mentre zero seleziona il bordo del documento
SkipPagesWithText evita di duplicare un livello ricercabile esistente e ContinueOnError controlla il recupero a livello di pagina
I budget applicati in fail-closed prima della mutazione della pagina coprono i pixel MaxPixelsPerPage e MaxTotalPixels, le parole MaxWordsPerPage e MaxTotalWords, i caratteri MaxWordCharacters per parola, più confidenza 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;