PDFium Component Docs

SaveAsFlateRecompressed methode

Component: TPdf  ·  Unit: PDFium
Herschrijft het document en hercodeert in aanmerking komende FlateDecode-streams op maximale compressie, waarbij een stream alleen wordt vervangen wanneer de gemeten bytebesparing een door de aanroeper ingestelde drempel overschrijdt

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 schrijft eerst een niet-incrementele kopie van het huidige in-memory document, waarna de wrapper een documentbrede bereikbaarheidswandeling uitvoert, net als SaveAsReachable

Elke bereikbare FlateDecode-stream wordt gedecodeerd met PdfInflate en op maximale compressie hercodeerd met DeflateCompress; alleen streams waarvan de gemeten besparing zowel MinSavingBytes als MinSavingRatio overschrijdt, worden vervangen

Objectnummers en generaties blijven stabiel, dus alleen de hercomprimeerde streampayloads en hun directe /Length-waarden veranderen; elke overlevende kruisverwijzing blijft geldig zonder hernummering

De uitvoer is één klassieke revisie waarbij de herbouwde trailer /Root, /Info en /ID overdraagt

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