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;

GDI や SIMD スキャンライン実装などのプラグ可能なページレンダバックエンド用のコントラクトです。GetName と GetCapabilities はバックエンドを説明し、IsAvailable は CPU 命令サポートのような実行時前提条件が存在するかどうかを報告します

RenderPage はバックエンドリクエストから 1 ページをレンダリングします。結果が False の場合、呼び出し元は別のバックエンドへフォールバックすべきです。out パラメータには、フォールバック診断に加えて、パフォーマンス分析用の Type 3 グリフキャッシュと透明度グループタイルの統計が入ります

IHPDFPageRenderBackendFailureInfo Interface, Advanced Rendering Semantics