PDFium Delphi Component Docs

SaveAsFlateRecompressed metode

Komponent: TPdf  ·  Enhed: PDFium
Omskriver dokumentet og genkoder berettigede FlateDecode-streams ved maksimal komprimering og erstatter kun en stream, når den målte bytebesparelse overstiger en kalder-tærskel

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 skriver først en ikke-inkrementel kopi af det aktuelle in-memory-dokument, derefter udfører wrapperen en dokumentbred reachability-gennemgang nøjagtigt som SaveAsReachable

Hver opnåelig FlateDecode-stream afkodes med PdfInflate og genkodes med DeflateCompress ved maksimal komprimering; kun streams, hvis målte besparelse overstiger både MinSavingBytes og MinSavingRatio, erstattes

Objektnumre og generationer forbliver stabile, så kun de genkomprimerede stream-payloads og deres direkte /Length-værdier ændres; hver overlevende cross-reference forbliver gyldig uden omnummerering

Outputtet er en enkelt klassisk revision med den genopbyggede trailer, der fører /Root, /Info og /ID videre

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