PDFium Delphi Component Docs

PdfLibraryConfigurationSupportError 함수

유닛: PDFium
라이브러리 구성을 PDFium 빌드에 적용할 수 없는 이유를 알려 주고, 적용할 수 있으면 빈 문자열을 반환합니다

Syntax

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

Parameters

ConfigurationTPdfLibraryConfiguration. 검사할 설정
SkiaBuildBoolean. Skia 지원 PDFium 빌드, 즉 FPDF_RenderPageSkia를 export하는 빌드이면 True
FontationsBuildBoolean. Fontations 폰트 백엔드를 포함한 PDFium 빌드이면 True

Return Value

string: 구성이 지원되면 빈 문자열, 그렇지 않으면 지원되지 않는 설정에 대한 설명

Description

PDFium의 네이티브 초기화는 빌드에 없는 렌더러나 폰트 백엔드를 받으면 오류를 반환하는 대신 프로세스 전체를 멈춥니다

그래서 LoadLibrary는 export를 바인딩한 뒤, 네이티브 초기화를 하기 전에 이 검사를 실행합니다. prpSkia는 Skia 빌드가 필요하고 pfbpFontations은 Fontations 빌드가 필요합니다. 검사가 실패하면 LoadLibrary는 라이브러리를 언로드하고 구성을 봉인하지 않은 채로 둔 뒤 EPdfError를 발생시켜, 애플리케이션이 다른 설정으로 ConfigurePdfLibrary를 호출해 재시도할 수 있게 합니다

Skia 지원 여부는 FPDF_RenderPageSkia export로 판별합니다. PDFium은 Fontations에 대해 아무것도 export하지 않으므로, LoadLibrary가 이 백엔드가 라이브러리 파일에 링크한 Rust 폰트 크레이트를 찾습니다. 라이브러리 파일을 읽을 수 없으면 지원하지 않는 것으로 취급합니다

번들된 pdfium.dll과 pdfium.v8.dll은 Fontations 없는 Skia 빌드입니다

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