PDFium Delphi Component Docs

SaveAsFlateRecompressed metod

Component: TPdf  ·  Unit: PDFium
Skriver om dokumentet och omkodar kvalificerade FlateDecode-strömmar vid maximal komprimering, där en ström ersätts endast när den uppmätta bytebesparingen överskrider en tröskel från anroparen

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 icke-inkrementell kopia av det aktuella dokumentet i minnet, därefter gör wrappern en nåbarhetsgenomgång av hela dokumentet, precis som SaveAsReachable

Varje nåbar FlateDecode-ström dekodas med PdfInflate och omkodas med DeflateCompress vid maximal komprimering; endast strömmar vars uppmätta besparing överskrider både MinSavingBytes och MinSavingRatio ersätts

Objektnummer och generationer förblir stabila, så endast de omkomprimerade strömpayloaderna och deras direkta /Length-värden ändras; varje överlevande korsreferens förblir giltig utan omnumrering

Utmatningen är en enda klassisk revision där den ombyggda trailern för /Root, /Info och /ID vidare

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