PDFium Component Docs

SaveAsDeduplicated methode

Component: TPdf  ·  Unit: PDFium
Herschrijft het document als één schone revisie die eerst onbereikbare objecten wegveegt en daarna compatibele lettertypen, afbeeldingen en formulier-XObjects op één gedeelde representant samenvoegt

Syntax

function SaveAsDeduplicated(Stream: TStream; out Report: TPdfDedupReport; AllowSignedDocument: Boolean = False): Boolean;

function SaveAsDeduplicated(const FileName: string; out Report: TPdfDedupReport; 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 en elk onbereikbaar object laat vallen, net als SaveAsReachable

Lettertypen, afbeeldingen en formulier-XObjects worden vervolgens gefingerprint: elk kandidaat-dictionary, zijn volledige bereikbare substroom en zijn ruwe streampayload worden recursief gehasht, zodat duplicaten alleen samenvallen wanneer hun volledige content identiek is

Elke kruisverwijzing die naar een samengevoegde duplicaat wees, wordt herschreven naar de overlevende representant, en objectnummers en generaties blijven stabiel zodat elke overlevende kruisverwijzing geldig blijft

De uitvoer is één klassieke revisie zonder object streams en zonder cross-reference stream, en de herbouwde trailer draagt /Root, /Info en /ID over

Policies and limits

Example

Pdf.SaveAsDeduplicated('deduplicated.pdf', Report);
WriteLn('merged ', Report.MergedImageCount, ' images');

See Also

SaveAsReachable, SaveAs, SaveAsNormalizedContent