PDFium Delphi Component Docs

PdfLibraryConfigurationSupportError funktion

Enhed: PDFium
Rapporterer, hvorfor en bibliotekskonfiguration ikke kan anvendes på en PDFium-build, og returnerer en tom streng, når den kan

Syntax

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

Parameters

ConfigurationTPdfLibraryConfiguration. De indstillinger, der skal kontrolleres
SkiaBuildBoolean. True for en PDFium-build med Skia-support, som eksporterer FPDF_RenderPageSkia
FontationsBuildBoolean. True for en PDFium-build med Fontations som font-backend

Return Value

string: tom, når konfigurationen er understøttet, ellers en beskrivelse af den ikke-understøttede indstilling

Description

PDFiums native initialisering stopper hele processen, når den får en renderer eller font-backend, som buildet ikke indeholder; den returnerer ikke en fejl

LoadLibrary kører derfor dette tjek efter binding af exports og før den native initialisering: prpSkia kræver en Skia-build, og pfbpFontations kræver en Fontations-build. Fejler tjekket, afindlæser LoadLibrary biblioteket, lader konfigurationen være uforseglet og udløser EPdfError, så applikationen kan kalde ConfigurePdfLibrary med andre indstillinger og prøve igen

Skia-support detekteres ud fra exporten FPDF_RenderPageSkia. PDFium eksporterer intet for Fontations, så LoadLibrary leder efter de Rust-font-crates, som denne backend linker ind i biblioteksfilen; en biblioteksfil, der ikke kan læses, regnes som uden Fontations-support

De medfølgende pdfium.dll og pdfium.v8.dll er Skia-builds uden 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