PDFium Delphi Component Docs

PdfLibraryConfigurationSupportError funktion

Unit: PDFium
Anger varför en bibliotekskonfiguration inte kan tillämpas på en PDFium-build, eller returnerar en tom sträng när den kan

Syntax

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

Parameters

ConfigurationTPdfLibraryConfiguration. Inställningarna som ska kontrolleras
SkiaBuildBoolean. True för en PDFium-build med Skia-stöd, det vill säga en som exporterar FPDF_RenderPageSkia
FontationsBuildBoolean. True för en PDFium-build med Fontations som teckensnittsbackend

Return Value

string: tom när konfigurationen stöds, annars en beskrivning av inställningen som inte stöds

Description

PDFiums nativa initiering stoppar hela processen när den får en renderare eller teckensnittsbackend som builden inte innehåller; den returnerar inget fel

LoadLibrary kör därför den här kontrollen efter att exporterna bundits och före nativ initiering: prpSkia kräver en Skia-build och pfbpFontations kräver en Fontations-build. Misslyckas kontrollen lastar LoadLibrary ur biblioteket, lämnar konfigurationen osealerad och kastar EPdfError, så att applikationen kan anropa ConfigurePdfLibrary med andra inställningar och försöka igen

Skia-stöd upptäcks via exporten FPDF_RenderPageSkia. PDFium exporterar ingenting för Fontations, så LoadLibrary letar efter de Rust-teckensnittscrates som backenden länkar in i biblioteksfilen; en biblioteksfil som inte kan läsas behandlas som att den saknar stöd

De medföljande pdfium.dll och pdfium.v8.dll är Skia-builds utan 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