function ApplyOcrSearchLayer(
const Provider: IPdfOcrProvider;
const Options: TPdfOcrOptions;
out Report: TPdfOcrReport;
const CancellationToken: IPdfCancellationToken = nil): Boolean;
Biblioteket renderar varje vald sida via PDFium och skickar en kompakt uppifrån-och-ned popfBgra32-bild till IPdfOcrProvider.RecognizePage
Providern returnerar TPdfOcrWord-värden vars Quad-koordinater använder pixelenheter med origo i bildens övre vänstra hörn
Textkonfidensen måste ligga i intervallet 0 till 1 och fyrhörningspunkterna måste ligga inom den angivna bilden
FPDF_DeviceToPage-mappning bevarar sidrutorna och den inneboende rotationenFPDF_TEXTRENDERMODE_INVISIBLETPdfOcrReport summerar ProcessedPageCount, FailedPageCount, DetectedWordCount, InsertedWordCount, RejectedWordCount och TotalRenderedPixels, medan varje TPdfOcrPageReport-post lägger till per-sida-värdena ImageWidth, ImageHeight, DetectedWordCount, InsertedWordCount och RejectedWordCountFirstPage och LastPage väljer ett inkluderande intervall, medan noll väljer dokumentgränsen
SkipPagesWithText undviker att duplicera ett befintligt sökbart lager och ContinueOnError styr återhämtningen på sidnivå
Budgeter som framtvingas fail-closed före sidmutering täcker MaxPixelsPerPage och MaxTotalPixels pixlar, MaxWordsPerPage och MaxTotalWords ord, MaxWordCharacters tecken per ord, plus konfidens och 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;