Rozhraní 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;

Smlouva pro zásuvné renderovací backendy stránky, jako jsou implementace GDI a SIMD scanline; GetName a GetCapabilities popisují backend a IsAvailable hlásí, zda jsou přítomny jeho runtime předpoklady, například podpora instrukcí CPU

RenderPage vykreslí jednu stránku z požadavku backendu; výsledek False znamená, že volající by měl spadnout zpět na jiný backend, a výstupní parametry nesou diagnostiku fallbacku spolu se statistikami mezipaměti glyfů Type 3 a mozaikování skupin průhlednosti pro analýzu výkonu

Rozhraní IHPDFPageRenderBackendFailureInfo, Advanced Rendering Semantics