THotPDF.DecodeLoadedStreamToStream Method

Dekodira učitani PDF tok kroz njegov kompletan lanac filtera i piše završnu fazu direktno u tok u vlasništvu pozivaoca

Deklaracija

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

Jedinica

HPDFDoc

Parametri

ImeNamena
AStreamUčitani THPDFStreamObject čiji se unos /Filter dekodira
OutputOdredište u vlasništvu pozivaoca koje prima dekodovane bajtove na svojoj trenutnoj poziciji
OutputOdredište u vlasništvu pozivaoca koje na svojoj tekućoj poziciji prima dekodirane bajtove
InfoPrima brojeve ulaznih i izlaznih bajtova, brojeve filtera, dubinu, status, filter koji ne uspeva i dijagnostiku

Povratna vrednost

Vraća True samo kada svaka tražena faza uspe

Napomene o upotrebi

Dijagnostika

THPDFDecodePipelineInfo = record
  Status: THPDFDecodePipelineStatus;
  InputBytes: Int64;
  OutputBytes: Int64;
  FilterCount: Integer;
  AppliedFilterCount: 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, budžetske neuspehe i neuspehe dekodera

Primer

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