function PdfLibraryConfigurationSupportError(const Configuration: TPdfLibraryConfiguration; SkiaBuild, FontationsBuild: Boolean): string;
| Configuration | TPdfLibraryConfiguration。要检查的设置 |
| SkiaBuild | Boolean。为 True 表示带 Skia 支持的 PDFium 构建,也就是导出 FPDF_RenderPageSkia 的构建 |
| FontationsBuild | Boolean。为 True 表示带 Fontations 字体后端的 PDFium 构建 |
string:配置受支持时为空,否则为对不受支持设置的描述PDFium 的原生初始化在收到构建并不包含的渲染器或字体后端时会直接终止整个进程;它不会返回错误
因此 LoadLibrary 会在绑定导出之后、原生初始化之前执行这项检查:prpSkia 要求 Skia 构建,pfbpFontations 要求 Fontations 构建。检查失败时,LoadLibrary 卸载库、保持配置未密封并抛出 EPdfError,程序可以改用其他设置调用 ConfigurePdfLibrary 后重试
Skia 支持通过 FPDF_RenderPageSkia 导出检测。PDFium 没有为 Fontations 提供任何导出,因此 LoadLibrary 会查找该后端链接进库文件的 Rust font crate;无法读取的库文件按不支持处理
捆绑的 pdfium.dll 和 pdfium.v8.dll 是不带 Fontations 的 Skia 构建
prpDefault、prpAgg、pfbpDefault 和 pfbpFreeTypeConfig := GetPdfLibraryConfiguration;
Config.Renderer := prpSkia;
ConfigurePdfLibrary(Config);
try
LoadLibrary;
except
on E: EPdfError do
begin
Config.Renderer := prpDefault;
ConfigurePdfLibrary(Config);
LoadLibrary;
end;
end;