Интерфейс IHPDFDocumentHandler

IHPDFDocumentHandler = interface(IInterface)
  function GetHandlerName: string;
  function GetFormat: THPDFHandledDocumentFormat;
  function GetExtensions: string;
  function GetMIMETypes: string;
  function Recognize(const Probe: THPDFDocumentProbe): Integer;
  function Open(Source: TStream; const Probe: THPDFDocumentProbe;
    const Options: THPDFDocumentHandlerOptions;
    out Document: IHPDFHandledDocument;
    out Info: THPDFDocumentHandlerInfo): boolean;
end;

Recognize возвращает оценку от 0 до 100, чтобы веские признаки из проверенного содержимого ранжировались выше слабых намёков по расширению или MIME

Open обязан соблюдать переданные опции, сохранять владение исходным stream за вызывающим и публиковать неизменяемый handled document только после успешной конвертации

Класс THPDFDocumentHandlerRegistry