IHPDFCustomStreamFilter
Definierar en referensräknad anpassad avkodare som används av strömfilterpipeliner för inlästa dokument
Deklaration
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;
Parametrar
Input lånas för callbacken, Output är en isolerad begränsad destination för push-läge och Request förser stegidentitet, återstående budget och avbrott
DecodedStream ägs av HotPDF efter ett lyckat pull-resultat, medan Diagnostic bör förklara ett falskt resultat
Returvärde
Returnera True endast efter att ha producerat ett komplett giltigt stegresultat
Användningsanmärkningar
- Endast den metod som väljs av
Modeanropas - Frigör inte den lånade
Input-strömmen och försök inte behålla eller returnera den - Långa operationer bör kontrollera
Request.CancellationTokenkooperativt - Undantag isoleras som
dpsCustomFilterError,dpsBudgetExceededellerdpsCancelled - Callbacks körs synkront och utanför registreringslåset