PDFium Delphi Component Docs

PdfLibraryConfigurationSupportError Fonction

Module: PDFium
Indique pourquoi une configuration de bibliothèque ne peut pas être appliquée à un build PDFium, ou renvoie une chaîne vide lorsqu’elle peut l’être

Syntax

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

Parameters

ConfigurationTPdfLibraryConfiguration. Les réglages à vérifier
SkiaBuildBoolean. True pour un build PDFium avec prise en charge de Skia, qui exporte FPDF_RenderPageSkia
FontationsBuildBoolean. True pour un build PDFium avec le backend de polices Fontations

Return Value

string : vide lorsque la configuration est prise en charge, sinon une description du réglage non pris en charge

Description

L’initialisation native de PDFium arrête tout le processus lorsqu’elle reçoit un renderer ou un backend de polices que le build ne contient pas ; elle ne renvoie pas d’erreur

LoadLibrary exécute donc cette vérification après la liaison des exports et avant l’initialisation native : prpSkia exige un build Skia et pfbpFontations exige un build Fontations. Lorsque la vérification échoue, LoadLibrary décharge la bibliothèque, laisse la configuration non scellée et lève une EPdfError, afin que l’application puisse appeler ConfigurePdfLibrary avec d’autres réglages et réessayer

La prise en charge de Skia est détectée via l’export FPDF_RenderPageSkia. PDFium n’exportant rien pour Fontations, LoadLibrary cherche les crates Rust de polices que ce backend lie dans le fichier de bibliothèque ; un fichier de bibliothèque illisible est considéré comme ne la prenant pas en charge

Les pdfium.dll et pdfium.v8.dll embarquées sont des builds Skia sans 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