PDFium Delphi Component Docs

PdfLibraryConfigurationSupportError função

Unidade: PDFium
Informa por que uma configuração de biblioteca não pode ser aplicada a um build do PDFium, ou retorna uma string vazia quando pode

Syntax

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

Parameters

ConfigurationTPdfLibraryConfiguration. As configurações a verificar
SkiaBuildBoolean. True para um build do PDFium com suporte a Skia, que exporta FPDF_RenderPageSkia
FontationsBuildBoolean. True para um build do PDFium com o backend de fontes Fontations

Return Value

string: vazia quando a configuração é suportada, caso contrário uma descrição da configuração não suportada

Description

A 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

Remarks

Example

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

See Also

ConfigurePdfLibrary, PdfNativeRendererType, PdfLibraryConfigurationSealed