function PdfLibraryConfigurationSupportError(const Configuration: TPdfLibraryConfiguration; SkiaBuild, FontationsBuild: Boolean): string;
| Configuration | TPdfLibraryConfiguration. As configurações a verificar |
| SkiaBuild | Boolean. True para um build do PDFium com suporte a Skia, que exporta FPDF_RenderPageSkia |
| FontationsBuild | Boolean. True para um build do PDFium com o backend de fontes Fontations |
string: vazia quando a configuração é suportada, caso contrário uma descrição da configuração não suportadaA inicialização nativa do PDFium encerra o processo inteiro quando recebe um renderer ou backend de fontes que o build não contém; ela não retorna um erro
Por isso LoadLibrary executa esta checagem depois de vincular os exports e antes da inicialização nativa: prpSkia exige um build com Skia e pfbpFontations exige um build com Fontations. Quando a checagem falha, LoadLibrary descarrega a biblioteca, deixa a configuração não selada e levanta EPdfError, então a aplicação pode chamar ConfigurePdfLibrary com outras configurações e tentar de novo
O suporte a Skia é detectado pelo export FPDF_RenderPageSkia. O PDFium não exporta nada para Fontations, então LoadLibrary procura pelas crates Rust de fontes que esse backend vincula ao arquivo da biblioteca; um arquivo de biblioteca que não pode ser lido é tratado como sem suporte
Os pdfium.dll e pdfium.v8.dll do pacote são builds com Skia e sem Fontations
prpDefault, prpAgg, pfbpDefault e pfbpFreeType são aceitos por qualquer buildConfig := GetPdfLibraryConfiguration;
Config.Renderer := prpSkia;
ConfigurePdfLibrary(Config);
try
LoadLibrary;
except
on E: EPdfError do
begin
Config.Renderer := prpDefault;
ConfigurePdfLibrary(Config);
LoadLibrary;
end;
end;