PDFium Component Docs

PdfLibraryConfigurationSupportError function

Unit: PDFium
Meldt waarom een bibliotheekconfiguratie niet toegepast kan worden op een PDFium-build, of geeft een lege string terug als het wel kan

Syntax

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

Parameters

ConfigurationTPdfLibraryConfiguration. De te controleren instellingen
SkiaBuildBoolean. True voor een PDFium-build met Skia-ondersteuning, die FPDF_RenderPageSkia exporteert
FontationsBuildBoolean. True voor een PDFium-build met het Fontations-fontbackend

Return Value

string: leeg wanneer de configuratie wordt ondersteund, anders een beschrijving van de niet-ondersteunde instelling

Description

De native initialisatie van PDFium stopt het hele proces wanneer ze een renderer of fontbackend krijgt die de build niet bevat; er komt geen fout terug

LoadLibrary draait deze check daarom na het binden van de exports en vóór de native initialisatie: prpSkia vereist een Skia-build en pfbpFontations vereist een Fontations-build. Bij een mislukte check laadt LoadLibrary de bibliotheek weer uit, laat de configuratie onverzegeld en verhoogt EPdfError, zodat de applicatie ConfigurePdfLibrary met andere instellingen kan aanroepen en het opnieuw kan proberen

Skia-ondersteuning wordt gedetecteerd aan de FPDF_RenderPageSkia-export. Voor Fontations exporteert PDFium niets, dus LoadLibrary zoekt naar de Rust font-crates die dit backend in het bibliotheekbestand linkt; een bibliotheekbestand dat niet gelezen kan worden, geldt als zonder Fontations-ondersteuning

De meegeleverde pdfium.dll en pdfium.v8.dll zijn Skia-builds zonder 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