function PdfLibraryConfigurationSupportError(const Configuration: TPdfLibraryConfiguration; SkiaBuild, FontationsBuild: Boolean): string;
| Configuration | TPdfLibraryConfiguration. Les réglages à vérifier |
| SkiaBuild | Boolean. True pour un build PDFium avec prise en charge de Skia, qui exporte FPDF_RenderPageSkia |
| FontationsBuild | Boolean. True pour un build PDFium avec le backend de polices Fontations |
string : vide lorsque la configuration est prise en charge, sinon une description du réglage non pris en chargeL’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
prpDefault, prpAgg, pfbpDefault et pfbpFreeType sont acceptés par tous les buildsConfig := GetPdfLibraryConfiguration;
Config.Renderer := prpSkia;
ConfigurePdfLibrary(Config);
try
LoadLibrary;
except
on E: EPdfError do
begin
Config.Renderer := prpDefault;
ConfigurePdfLibrary(Config);
LoadLibrary;
end;
end;