PDFium Delphi Component Docs

PdfLibraryConfigurationSupportError 関数

ユニット: PDFium
ライブラリ構成が PDFium ビルドに適用できない理由を報告し、適用できる場合は空文字列を返します

構文

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

パラメーター

ConfigurationTPdfLibraryConfiguration。チェック対象の設定
SkiaBuildBoolean。FPDF_RenderPageSkia をエクスポートする、Skia サポート付きの PDFium ビルドでは True
FontationsBuildBoolean。Fontations フォントバックエンドを含む PDFium ビルドでは True

戻り値

string: 構成がサポートされていれば空文字列、そうでなければサポートされない設定の説明

説明

PDFium のネイティブ初期化は、ビルドに含まれないレンダラーやフォントバックエンドを受け取ると、エラーを返すのではなくプロセス全体を停止します

そのため LoadLibrary は、エクスポートのバインド後、ネイティブ初期化の前にこのチェックを実行します。prpSkia には Skia ビルドが、pfbpFontations には Fontations ビルドが必要です。チェックに失敗すると、LoadLibrary はライブラリーをアンロードし、構成を unsealed のまま残して EPdfError を発生させます。アプリケーションは別の設定で ConfigurePdfLibrary を呼び直して再試行できます

Skia サポートは FPDF_RenderPageSkia エクスポートから検出されます。PDFium は Fontations 向けに何もエクスポートしないため、LoadLibrary はこのバックエンドがライブラリーファイルへリンクしている Rust 製フォントクレートを探します。読み取れないライブラリーファイルは非対応として扱われます

同梱の 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