IHPDFHandledDocument Interface

IHPDFHandledDocument = interface(IInterface)
  function GetFormat: THPDFHandledDocumentFormat;
  function GetHandlerName: string;
  function GetPageCount: Integer;
  function GetPageSourceName(PageIndex: Integer): string;
  function WritePDF(Destination: TStream;
    const Options: THPDFDocumentHandlerOptions;
    out Info: THPDFDocumentHandlerInfo): boolean;
  function RenderPage(PageIndex, DPI: Integer;
    const Options: THPDFDocumentHandlerOptions; out Bitmap: TBitmap;
    out Info: THPDFDocumentHandlerInfo): boolean;
end;

The immutable handled document retains generated PDF bytes and source-page provenance after the caller source stream is released

WritePDF publishes from the cache with rollback on a seekable destination, while RenderPage applies DPI and pixel limits before allocating the result bitmap

Optional Document Handlers