THotPDF.DecodeLoadedStreamToStream Yöntemi

Yüklenen bir PDF akışını kendi eksiksiz süzgeç zinciri üzerinden kod çözer ve son aşamayı doğrudan çağırana ait bir akışa yazar

Bildirim

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

Birim

HPDFDoc

Parametreler

AdAmaç
AStream/Filter girdisi çözülen yüklenen THPDFStreamObject
OutputÇözülen baytları geçerli konumunda alan, çağıranın sahibi olduğu hedef
CancellationTokenÖzel filtre aşamalarıyla paylaşılan, isteğe bağlı işbirlikçi iptal
InfoGiriş ve çıkış bayt sayılarını, filtre sayılarını, derinliği, durumu, başarısız filtreyi ve tanılamaları alır

Dönüş değeri

Yalnızca istenen her aşama başarılı olduğunda True döndürür

Kullanım notları

Tanılama

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

Status, geçersiz akışları ve süzgeçleri, süzgeç sayısı ve derinlik sınırlarını, döngüsel başvuruları, özyinelemeli akışları, desteklenmeyen süzgeçleri, bütçe başarısızlıklarını ve kod çözücü başarısızlıklarını ayırt eder

Örnek

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;

İlgili API'ler