THotPDF.DecodeLoadedStreamToStream-metode

Dekoder en innlastet PDF-strøm gjennom sin komplette filterkjede og skriver det endelige steget direkte til en oppkaller-eid strøm

Deklarasjon

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

Enhet

HPDFDoc

Parametere

NavnFormål
AStreamInnlastet THPDFStreamObject hvis /Filter-oppføring dekodes
OutputOppkaller-eid mål som mottar dekodede bytes ved sin gjeldende posisjon
InfoMottar inngangs- og utgangs-bytetellinger, filtertellinger, dybde, status, feilende filter og diagnostikk
InfoMottar antall inndata- og utdatabyte, filtertellere, dybde, status, feilende filter og diagnostikk

Returverdi

Returnerer True kun når hvert forespurte steg lykkes

Bruksnotater

Diagnostikk

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

Status skiller mellom ugyldige strømmer og filtre, filter-telling- og dybdegrenser, sykliske referanser, rekursive strømmer, filtre som ikke støttes, budsjett-feil og dekoder-feil

Eksempel

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;

Relaterte API-er