Metoda THotPDF.DecodeLoadedStreamToStream

Dekodira naložen tok PDF skozi njegovo popolno verigo filtrov in zapiše končno stopnjo neposredno v tok, ki je v lasti klicatelja

Deklaracija

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

Enota

HPDFDoc

Parametri

ImeNamen
AStreamNaložen THPDFStreamObject, katerega vnos /Filter se dekodira
OutputCilj v lasti klicatelja, ki prejme dekodirane bajte na svojem trenutnem položaju
InfoPrejme števce vhodnih in izhodnih bajtov, števce filtrov, globino, status, neuspešni filter in diagnostike
InfoPrejme števila vhodnih in izhodnih bajtov, števila filtrov, globino, stanje, filter, ki ni uspel, in diagnostiko

Vrnjena vrednost

Vrne True le, ko uspe vsaka zahtevana stopnja

Opombe o uporabi

Diagnostike

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

Status loči neveljavne toke in filtre, omejitve števila filtrov in globine, ciklične reference, rekurzivne toke, nepodprte filtre, neuspehe proračuna in neuspehe dekodirnikov

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