function PdfLibraryConfigurationSupportError(const Configuration: TPdfLibraryConfiguration; SkiaBuild, FontationsBuild: Boolean): string;
| Configuration | TPdfLibraryConfiguration. Inställningarna som ska kontrolleras |
| SkiaBuild | Boolean. True för en PDFium-build med Skia-stöd, det vill säga en som exporterar FPDF_RenderPageSkia |
| FontationsBuild | Boolean. True för en PDFium-build med Fontations som teckensnittsbackend |
string: tom när konfigurationen stöds, annars en beskrivning av inställningen som inte stödsPDFiums nativa initiering stoppar hela processen när den får en renderare eller teckensnittsbackend som builden inte innehåller; den returnerar inget fel
LoadLibrary kör därför den här kontrollen efter att exporterna bundits och före nativ initiering: prpSkia kräver en Skia-build och pfbpFontations kräver en Fontations-build. Misslyckas kontrollen lastar LoadLibrary ur biblioteket, lämnar konfigurationen osealerad och kastar EPdfError, så att applikationen kan anropa ConfigurePdfLibrary med andra inställningar och försöka igen
Skia-stöd upptäcks via exporten FPDF_RenderPageSkia. PDFium exporterar ingenting för Fontations, så LoadLibrary letar efter de Rust-teckensnittscrates som backenden länkar in i biblioteksfilen; en biblioteksfil som inte kan läsas behandlas som att den saknar stöd
De medföljande pdfium.dll och pdfium.v8.dll är Skia-builds utan Fontations
prpDefault, prpAgg, pfbpDefault och pfbpFreeType accepteras av alla buildsConfig := GetPdfLibraryConfiguration;
Config.Renderer := prpSkia;
ConfigurePdfLibrary(Config);
try
LoadLibrary;
except
on E: EPdfError do
begin
Config.Renderer := prpDefault;
ConfigurePdfLibrary(Config);
LoadLibrary;
end;
end;