IHPDFCustomStreamFilter
Define un decodificador personalizado con conteo de referencias usado por los pipelines de stream filters de documentos cargados
Declaración
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;
Parámetros
Input se presta solo por la duración del callback, Output es un destino acotado y aislado para el modo push, y Request aporta la identidad de la etapa, el presupuesto restante y la cancelación
DecodedStream pasa a ser propiedad de HotPDF tras un resultado pull exitoso, mientras que Diagnostic debe explicar un resultado falso
Valor de retorno
Devuelva True solo después de producir un resultado de etapa completo y válido
Notas de uso
- Solo se llama al método seleccionado por
Mode - No libere, retenga ni devuelva el stream
Inputprestado - Las operaciones largas deben consultar
Request.CancellationTokende forma cooperativa - Las excepciones se aíslan como
dpsCustomFilterError,dpsBudgetExceededodpsCancelled - Los callbacks se ejecutan de forma síncrona y fuera del lock del registro