PDFium Delphi Component Docs

SaveAsDeduplicated metoda

Component: TPdf  ·  Unit: PDFium
Přepíše dokument jako jednu čistou revizi, která nejprve vymete nedosažitelné objekty a poté sloučí kompatibilní písma, obrázky a formulářové XObjects do jednoho sdíleného zástupce

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 nejprve zapíše nepřírůstkovou kopii aktuálního dokumentu v paměti a poté obálka provede celodokumentovou procházku dosažitelnosti a zahodí každý nedosažitelný objekt přesně jako SaveAsReachable

Písma, obrázky a formulářové XObjects jsou poté otisknuty: každý kandidátní slovník, jeho úplný dosažitelný podgraf a jeho surový obsah proudu jsou hashovány rekurzivně, takže duplikáty se sloučí pouze tehdy, když je celý jejich obsah identický

Každý křížový odkaz, který ukazoval na sloučený duplikát, je přepsán na přeživšího zástupce a čísla objektů a generace zůstávají stabilní, takže každý přeživší křížový odkaz zůstává platný

Výstup je jediná klasická revize bez objektových proudů a bez proudu křížových odkazů a znovu sestavený trailer přenáší /Root, /Info a /ID dále

Policies and limits

Example

Pdf.SaveAsDeduplicated('deduplicated.pdf', Report);
WriteLn('sloučeno ', Report.MergedImageCount, ' obrázků');

See Also

SaveAsReachable, SaveAs, SaveAsNormalizedContent