Интерфейс IHPDFPageRenderBackend

IHPDFPageRenderBackend = interface
  ['{ACCC7AA4-30B5-4C7B-A4E4-3B9A7481030A}']
  function GetName: AnsiString;
  function GetCapabilities: THPDFPageRenderBackendCapabilities;
  function IsAvailable: boolean;
  function RenderPage(const Request: THPDFPageRenderBackendRequest;
    out Bitmap: TBitmap;
    out Diagnostics: THPDFRenderFallbackDiagnostics;
    out DiagnosticDroppedCount: Integer;
    out Type3Stats: THPDFType3GlyphCacheStats;
    out TransparencyStats: THPDFTransparencyGroupTileStats): boolean;
end;

Контракт подключаемых render backend для страниц, таких как реализации на GDI и SIMD scanline; GetName и GetCapabilities описывают backend, а IsAvailable сообщает, есть ли на месте его runtime-предпосылки, например поддержка инструкций CPU

RenderPage рендерит одну страницу по запросу backend; результат False означает, что вызывающему стоит откатиться к другому backend, а out-параметры несут fallback-диагностику плюс статистику cache glyph Type 3 и тайлинга transparency group для анализа производительности

Интерфейс IHPDFPageRenderBackendFailureInfo, Семантика продвинутого рендеринга