PDFium Component Docs

PdfLibraryConfigurationSupportError funkcja

Unit: PDFium
Informuje, dlaczego konfiguracji biblioteki nie można zastosować do danego builda PDFium, albo zwraca pusty ciąg, gdy można

Syntax

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

Parameters

ConfigurationTPdfLibraryConfiguration. Ustawienia do sprawdzenia
SkiaBuildBoolean. True dla builda PDFium z obsługą Skia, który eksportuje FPDF_RenderPageSkia
FontationsBuildBoolean. True dla builda PDFium z backendem czcionek Fontations

Return Value

string: pusty, gdy konfiguracja jest obsługiwana, w przeciwnym razie opis nieobsługiwanego ustawienia

Description

Natywna inicjalizacja PDFium zatrzymuje cały proces, gdy dostaje renderer lub backend czcionek, którego build nie zawiera; nie zwraca błędu

Dlatego LoadLibrary wykonuje tę kontrolę po powiązaniu eksportów i przed inicjalizacją natywną: prpSkia wymaga builda ze Skia, a pfbpFontations builda z Fontations. Gdy kontrola nie przejdzie, LoadLibrary zwalnia bibliotekę, pozostawia konfigurację niezapieczętowaną i zgłasza EPdfError, więc aplikacja może wywołać ConfigurePdfLibrary z innymi ustawieniami i ponowić próbę

Obsługa Skia jest wykrywana po eksporcie FPDF_RenderPageSkia. PDFium nie eksportuje niczego dla Fontations, więc LoadLibrary szuka crate'ów czcionek Rust, które ten backend linkuje do pliku biblioteki; pliku biblioteki, którego nie da się odczytać, traktuje jako nieobsługujący Fontations

Dołączone pdfium.dll i pdfium.v8.dll to buildy ze Skia bez 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