function PdfLibraryConfigurationSupportError(const Configuration: TPdfLibraryConfiguration; SkiaBuild, FontationsBuild: Boolean): string;
| Configuration | TPdfLibraryConfiguration. De te controleren instellingen |
| SkiaBuild | Boolean. True voor een PDFium-build met Skia-ondersteuning, die FPDF_RenderPageSkia exporteert |
| FontationsBuild | Boolean. True voor een PDFium-build met het Fontations-fontbackend |
string: leeg wanneer de configuratie wordt ondersteund, anders een beschrijving van de niet-ondersteunde instellingDe native initialisatie van PDFium stopt het hele proces wanneer ze een renderer of fontbackend krijgt die de build niet bevat; er komt geen fout terug
LoadLibrary draait deze check daarom na het binden van de exports en vóór de native initialisatie: prpSkia vereist een Skia-build en pfbpFontations vereist een Fontations-build. Bij een mislukte check laadt LoadLibrary de bibliotheek weer uit, laat de configuratie onverzegeld en verhoogt EPdfError, zodat de applicatie ConfigurePdfLibrary met andere instellingen kan aanroepen en het opnieuw kan proberen
Skia-ondersteuning wordt gedetecteerd aan de FPDF_RenderPageSkia-export. Voor Fontations exporteert PDFium niets, dus LoadLibrary zoekt naar de Rust font-crates die dit backend in het bibliotheekbestand linkt; een bibliotheekbestand dat niet gelezen kan worden, geldt als zonder Fontations-ondersteuning
De meegeleverde pdfium.dll en pdfium.v8.dll zijn Skia-builds zonder Fontations
prpDefault, prpAgg, pfbpDefault en pfbpFreeType worden door elke build geaccepteerdConfig := GetPdfLibraryConfiguration;
Config.Renderer := prpSkia;
ConfigurePdfLibrary(Config);
try
LoadLibrary;
except
on E: EPdfError do
begin
Config.Renderer := prpDefault;
ConfigurePdfLibrary(Config);
LoadLibrary;
end;
end;