PDFium Delphi Component Docs

Provider opzionale di OCR Tesseract

CreatePdfTesseractOcrProvider fornisce un IPdfOcrProvider per ApplyOcrSearchLayer; Tesseract e traineddata sono dipendenze esterne opzionali

Usare un percorso assoluto esplicito della libreria, una directory tessdata e gli identificatori delle lingue richieste, come eng; l'architettura della DLL deve corrispondere al processo

TryCreatePdfTesseractOcrProvider restituisce gli errori delle dipendenze in ErrorMessage e lascia Provider a nil, senza modificare il percorso di ricerca del processo

Ogni riconoscimento possiede un'istanza API nativa separata, compone l'alpha BGRA su bianco, decodifica UTF-8 e restituisce quadrilateri delle parole nelle coordinate dell'immagine con origine in alto a sinistra e confidence normalizzata a 0–1

Default seleziona modalità di segmentazione pagina 3 e modalità del motore 3, scadenza di 60,000 ms, 16,777,216 pixel, 100,000 parole e 1,048,576 caratteri di testo

Il riconoscimento controlla annullamento e scadenza; l'inizializzazione del modello non ha Callback nativa di annullamento, quindi il limite viene controllato immediatamente prima e dopo

Le chiamate fallite scartano l'output parziale e l'annullamento mantiene EPdfOperationCancelled; l'API non aggiunge silenziosamente testo ricercabile incompleto

Sono verificati i casi ABI Delphi e FPC Win32/Win64; il riconoscimento reale Tesseract 5.5, il salvataggio e la riapertura del livello ricercabile e il rendering invariato sono verificati su Win64 con entrambi i compilatori

ProviderOptions := TPdfTesseractOptions.Default;
Provider := CreatePdfTesseractOcrProvider(
  LibraryPath, TessdataDirectory, 'eng', ProviderOptions);
OcrOptions := TPdfOcrOptions.Default;
Pdf.ApplyOcrSearchLayer(Provider, OcrOptions, Report, CancellationToken);

Dichiarazioni pubbliche

type
  EPdfTesseractError = class(Exception);

  TPdfTesseractOptions = record
    // Tesseract PSM ordinals: 3 = automatic, 6 = block, 7 = single line
    PageSegmentationMode: Integer;
    // Tesseract OEM ordinals: 1 = LSTM, 3 = default
    EngineMode: Integer;
    TimeoutMilliseconds: Cardinal;
    MaxPixels: Int64;
    MaxWords: Integer;
    MaxTextCharacters: Integer;
    class function Default: TPdfTesseractOptions; static;
  end;

// Each recognition call owns a separate API instance; providers can be shared
// Libraries and traineddata remain optional, explicitly configured dependencies
function CreatePdfTesseractOcrProvider(const LibraryPath, TessdataDirectory,
  Languages: string; const Options: TPdfTesseractOptions): IPdfOcrProvider;

// Dependency errors are returned without changing the process search path
function TryCreatePdfTesseractOcrProvider(const LibraryPath, TessdataDirectory,
  Languages: string; const Options: TPdfTesseractOptions;
  out Provider: IPdfOcrProvider; out ErrorMessage: string): Boolean;