PDFium Delphi Component Docs

función PdfLibraryConfigurationSupportError

Unidad: PDFium
Informa por qué una configuración de biblioteca no se puede aplicar a un build de PDFium, o devuelve una cadena vacía cuando sí se puede

Syntax

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

Parameters

ConfigurationTPdfLibraryConfiguration. Las opciones a verificar
SkiaBuildBoolean. True para un build de PDFium con soporte de Skia, que exporta FPDF_RenderPageSkia
FontationsBuildBoolean. True para un build de PDFium con el backend de fuentes Fontations

Return Value

string: vacía cuando la configuración está soportada, de lo contrario una descripción de la opción no soportada

Description

La inicialización nativa de PDFium detiene todo el proceso cuando recibe un renderer o un backend de fuentes que el build no contiene; no devuelve un error

Por eso LoadLibrary ejecuta esta verificación después de enlazar los exports y antes de la inicialización nativa: prpSkia exige un build con Skia y pfbpFontations exige un build con Fontations. Cuando la verificación falla, LoadLibrary descarga la biblioteca, deja la configuración sin sellar y lanza EPdfError, de modo que la aplicación puede llamar a ConfigurePdfLibrary con otras opciones y reintentar

El soporte de Skia se detecta a partir del export FPDF_RenderPageSkia. PDFium no exporta nada para Fontations, así que LoadLibrary busca los crates de fuentes en Rust que este backend enlaza dentro del archivo de la biblioteca; un archivo de biblioteca que no se puede leer se trata como si no lo soportara

Los pdfium.dll y pdfium.v8.dll incluidos son builds con Skia y sin 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