PDFium Delphi Component Docs

SaveAsFlateRecompressed yöntemi

Component: TPdf  ·  Unit: PDFium
Belgeyi yeniden yazar ve uygun FlateDecode akışlarını en yüksek sıkıştırmada yeniden kodlar; ölçülen bayt tasarrufu çağıranın eşiğini geçtiğinde akışı değiştirir

Syntax

function SaveAsFlateRecompressed(Stream: TStream; const Options: TPdfFlateRecompressOptions; out Report: TPdfFlateRecompressReport; AllowSignedDocument: Boolean = False): Boolean;

function SaveAsFlateRecompressed(const FileName: string; const Options: TPdfFlateRecompressOptions; out Report: TPdfFlateRecompressReport; AllowSignedDocument: Boolean = False): Boolean;

Description

PDFium önce geçerli bellek içi belgenin artımlı olmayan bir kopyasını yazar, ardından sarmalayıcı SaveAsReachable ile tam olarak aynı şekilde belge geneli bir erişilebilirlik taraması yapar

Erişilebilir her FlateDecode akışı PdfInflate ile çözülür ve DeflateCompress ile en yüksek sıkıştırmada yeniden kodlanır; yalnızca ölçülen tasarrufu hem MinSavingBytes hem de MinSavingRatio eşiklerini geçen akışlar değiştirilir

Nesne numaraları ve kuşakları kararlı kalır; böylece yalnızca yeniden sıkıştırılan akış yükleri ve bunların doğrudan /Length değerleri değişir ve numaralandırma yapılmadan hayatta kalan her çapraz referans geçerliliğini korur

Çıktı tek bir klasik revizyondur ve yeniden oluşturulan trailer /Root, /Info ve /ID girdilerini ileriye taşır

Policies and limits

Example

Options.MinSavingBytes:= 64;
Options.MinSavingRatio:= 0.1;
Pdf.SaveAsFlateRecompressed('recompressed.pdf', Options, Report);
WriteLn('recompressed ', Report.RecompressedCount, ' streams');

See Also

SaveAsReachable, SaveAsDeduplicated, SaveAs