IHPDFPageRenderBackend Interface

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;

Kontrakt dla podłączalnych backendów renderowania stron, takich jak implementacje GDI i SIMD scanline; GetName i GetCapabilities opisują backend, a IsAvailable raportuje, czy jego wymagania środowiskowe, na przykład obsługa instrukcji CPU, są spełnione

RenderPage renderuje jedną stronę na podstawie żądania backendu; wynik False oznacza, że wywołujący powinien spaść na inny backend, a parametry out przenoszą diagnostykę fallback plus statystyki cache glifów Type 3 i kaflowania grup przezroczystości do analizy wydajności

IHPDFPageRenderBackendFailureInfo Interface, Zaawansowana semantyka renderowania