function PdfLibraryConfigurationSupportError(const Configuration: TPdfLibraryConfiguration; SkiaBuild, FontationsBuild: Boolean): string;
| Configuration | TPdfLibraryConfiguration. As definições a verificar |
| SkiaBuild | Boolean. True para uma build do PDFium com suporte de Skia, que exporta FPDF_RenderPageSkia |
| FontationsBuild | Boolean. True para uma build do PDFium com o backend de fontes Fontations |
string: vazia quando a configuração é suportada, caso contrário uma descrição da definição não suportadaA inicialização nativa do PDFium para todo o processo quando recebe um renderer ou um backend de fontes que a build não contém; não devolve um erro
Por isso, LoadLibrary executa esta verificação depois de ligar os exports e antes da inicialização nativa: prpSkia exige uma build com Skia e pfbpFontations exige uma build com Fontations. Quando a verificação falha, LoadLibrary descarrega a biblioteca, deixa a configuração por selar e lança EPdfError, para a aplicação poder chamar ConfigurePdfLibrary com outras definições e tentar de novo
O suporte de Skia é detectado a partir do export FPDF_RenderPageSkia. O PDFium não exporta nada para o Fontations, pelo que LoadLibrary procura as Rust font crates que este backend liga ao ficheiro da biblioteca; um ficheiro de biblioteca que não consiga ser lido é tratado como não suportando o backend
As pdfium.dll e pdfium.v8.dll distribuídas são builds com Skia sem Fontations
prpDefault, prpAgg, pfbpDefault e pfbpFreeType são aceites 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;