THotPDF.DecodeLoadedStreamToStream Method

Decodeert een geladen PDF-stream via zijn volledige filterketen en schrijft de laatste fase direct naar een stream in eigendom van de aanroeper

Declaratie

function DecodeLoadedStreamToStream(AStream: THPDFStreamObject; Output: TStream; out Info: THPDFDecodePipelineInfo): Boolean; overload; function DecodeLoadedStreamToStream(AStream: THPDFStreamObject; Output: TStream; CancellationToken: THPDFCancellationToken; out Info: THPDFDecodePipelineInfo): Boolean; overload;

Eenheid

HPDFDoc

Parameters

NaamDoel
AStreamGeladen THPDFStreamObject waarvan de /Filter-regel wordt gedecodeerd
OutputBestemming in eigendom van de aanroeper die gedecodeerde bytes ontvangt op de huidige positie
CancellationTokenOptionele coöperatieve annulering die met aangepaste filterstadia wordt gedeeld
InfoOntvangt in- en uitvoerbyte-aantallen, filteraantallen, diepte, status, falende filter en diagnostiek

Retourwaarde

Geeft alleen True terug wanneer elk gevraagd stadium slaagt

Gebruiksopmerkingen

Diagnostiek

THPDFDecodePipelineInfo = record Status: THPDFDecodePipelineStatus; InputBytes: Int64; OutputBytes: Int64; FilterCount: Integer; AppliedFilterCount: Integer; CustomFilterCount: Integer; CustomFilterFailureCount: Integer; PipelineDepth: Integer; StopBeforeLast: Boolean; FailedFilter: AnsiString; Diagnostic: AnsiString; end;

Status onderscheidt ongeldige streams en filters, limieten voor filteraantal en diepte, cyclische verwijzingen, recursieve streams, niet-ondersteunde filters, budgetfalen, decoderfouten, aangepaste fouten, annulering en schendingen van het seek-contract

Voorbeeld

Output := TFileStream.Create('payload.bin', fmCreate); try if not PDF.DecodeLoadedStreamToStream(StreamObject, Output, Info) then raise Exception.Create(String(Info.Diagnostic)); finally Output.Free; end;

Gerelateerde API's