THotPDF.DecodeLoadedStreamToStream Method

Dekoodaa ladatun PDF-virran sen täyden suodatinjonon läpi ja kirjoittaa viimeisen vaiheen suoraan kutsujan omistamaan virtaan

Declaration

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

Unit

HPDFDoc

Parameters

NamePurpose
AStreamLoaded THPDFStreamObject jonka /Filter -merkintä dekoodataan
OutputKutsujan omistama kohde, joka vastaanottaa dekoodatut tavut nykyisessä positiossaan
CancellationTokenValinnainen yhteistyöperusteinen peruutus, joka jaetaan omien suodatinvaiheiden kanssa
InfoVastaanottaa syöte- ja tulostetavumäärät, suodatinmäärät, syvyyden, tilan, epäonnistuneen suodattimen ja diagnoosit

Paluuarvo

Returns True vain, kun jokainen pyydetty vaihe onnistuu

Käyttöhuomautukset

Diagnostics

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 erottaa virheelliset virrat ja suodattimet, suodatinmäärä- ja syvyysrajat, sykliset viittaukset, rekursiiviset virrat, tukemattomat suodattimet, budjettiviat, dekooderiviato, omat viat, peruutukset ja seek-sopimusten rikkomiset

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;

Related APIs