IHPDFCustomStreamFilter

Описывает custom-декодер с подсчётом ссылок, который используется в конвейерах фильтров загруженных stream

Объявление

IHPDFCustomStreamFilter = interface(IInterface)
  function GetFilterName: AnsiString;
  function GetMode: THPDFCustomStreamFilterMode;
  function GetInputSeekContract: THPDFCustomStreamSeekContract;
  function GetOutputSeekContract: THPDFCustomStreamSeekContract;
  function DecodePush(Input, Output: TStream;
    const Request: THPDFCustomStreamFilterRequest;
    out Diagnostic: AnsiString): Boolean;
  function OpenPullStream(Input: TStream;
    const Request: THPDFCustomStreamFilterRequest;
    out DecodedStream: TStream;
    out Diagnostic: AnsiString): Boolean;
end;

Параметры

Input передаётся в callback по заимствованию, Output — изолированный ограниченный приёмник для push-режима, а Request несёт идентификатор этапа, оставшийся бюджет и отмену

DecodedStream после успешного pull-результата принадлежит HotPDF, а Diagnostic должен объяснять, почему результат false

Возвращаемое значение

Возвращайте True только после получения полного корректного результата этапа

Примечания по использованию

Связанные API