PDFium Delphi Component 文件

PdfLibraryConfigurationSupportError 函数

单元: PDFium
报告某个库配置为何无法应用到 PDFium 构建,能用则返回空字符串

语法

function PdfLibraryConfigurationSupportError(const Configuration: TPdfLibraryConfiguration; SkiaBuild, FontationsBuild: Boolean): string;

参数

ConfigurationTPdfLibraryConfiguration。要检查的设置
SkiaBuildBoolean。为 True 表示带 Skia 支持的 PDFium 构建,也就是导出 FPDF_RenderPageSkia 的构建
FontationsBuildBoolean。为 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 构建

备注

示例

Config := GetPdfLibraryConfiguration;
Config.Renderer := prpSkia;
ConfigurePdfLibrary(Config);
try
  LoadLibrary;
except
  on E: EPdfError do
  begin
    Config.Renderer := prpDefault;
    ConfigurePdfLibrary(Config);
    LoadLibrary;
  end;
end;

参见

ConfigurePdfLibrary, PdfNativeRendererType, PdfLibraryConfigurationSealed