THotPDF.DecodeLoadedStreamToStream Method

Dekodira učitani PDF tok kroz njegov potpuni lanac filtera i zapisuje konačnu fazu izravno u tok u vlasništvu pozivatelja

Deklaracija

function DecodeLoadedStreamToStream(AStream: THPDFStreamObject; Output: TStream; out Info: THPDFDecodePipelineInfo): boolean;

Jedinica

HPDFDoc

Parametri

NazivSvrha
AStreamLoaded THPDFStreamObject whose /Filter entry is decoded
OutputCaller-owned destination that receives decoded bytes at its current position
CancellationTokenNeobavezno kooperativno otkazivanje dijeljeno s vlastitim fazama filtera
InfoPrima brojače ulaznih i izlaznih bajtova, brojače filtera, dubinu, status, filter koji je pao i dijagnostiku

Povratna vrijednost

Vraća True samo kada svaka zatražena faza uspije

Napomene o uporabi

Dijagnostika

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 razlikuje nevažeće tokove i filtere, ograničenja broja filtera i dubine, ciklične reference, rekurzivne tokove, nepodržane filtere, prekoračenja proračuna, pogreške dekodera, vlastite pogreške, otkazivanja i kršenja ugovora o pozicioniranju

Example

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;

Povezani API-ji