PDFium Delphi Component Docs

PdfLibraryConfigurationSupportError funzione

Unità: PDFium
Riporta perché una configurazione della libreria non può essere applicata a una build di PDFium, oppure restituisce una stringa vuota quando può esserlo

Syntax

function PdfLibraryConfigurationSupportError(const Configuration: TPdfLibraryConfiguration; SkiaBuild, FontationsBuild: Boolean): string;

Parameters

ConfigurationTPdfLibraryConfiguration. Le impostazioni da verificare
SkiaBuildBoolean. True per una build di PDFium con supporto Skia, che esporta FPDF_RenderPageSkia
FontationsBuildBoolean. True per una build di PDFium con il backend dei font Fontations

Return Value

string: vuota quando la configurazione è supportata, altrimenti una descrizione dell'impostazione non supportata

Description

L'inizializzazione nativa di PDFium ferma l'intero processo quando riceve un renderer o un backend dei font che la build non contiene; non restituisce un errore

LoadLibrary esegue quindi questo controllo dopo aver vincolato gli export e prima dell'inizializzazione nativa: prpSkia richiede una build con Skia e pfbpFontations richiede una build con Fontations. Quando il controllo fallisce, LoadLibrary scarica la libreria, lascia la configurazione non sigillata e solleva EPdfError, così l'applicazione può chiamare ConfigurePdfLibrary con altre impostazioni e ritentare

Il supporto Skia viene rilevato dall'export FPDF_RenderPageSkia. PDFium non esporta nulla per Fontations, quindi LoadLibrary cerca i crate Rust dei font che questo backend collega nel file di libreria; un file di libreria non leggibile viene trattato come privo del supporto

Le pdfium.dll e pdfium.v8.dll in bundle sono build con Skia senza Fontations

Remarks

Example

Config := GetPdfLibraryConfiguration;
Config.Renderer := prpSkia;
ConfigurePdfLibrary(Config);
try
  LoadLibrary;
except
  on E: EPdfError do
  begin
    Config.Renderer := prpDefault;
    ConfigurePdfLibrary(Config);
    LoadLibrary;
  end;
end;

See Also

ConfigurePdfLibrary, PdfNativeRendererType, PdfLibraryConfigurationSealed