PDFium Delphi Component Docs

SaveAsDeduplicated metod

Component: TPdf  ·  Unit: PDFium
Prepisuje dokument kao jednu čistu reviziju koja prvo pomete nedostižne objekte, a zatim sažima kompatibilne fontove, slike i formularne XObject-e na jednog deljenog predstavnika

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 prvo upisuje neinkrementalnu kopiju trenutnog dokumenta u memoriji, zatim omotač izvodi obilazak dostižnosti kroz ceo dokument i odbacuje svaki nedostižni objekat, tačno kao SaveAsReachable

Fontovi, slike i formularni XObject-i se zatim otiskuju: svaki rečnik kandidata, njegov ceo dostižni podgraf i njegov sirovi tok se heširaju rekurzivno, pa se duplikati spajaju samo kada je njihov ceo sadržaj identičan

Svaka unakrsna referenca koja je pokazivala na spojeni duplikat se prepisuje na preživelog predstavnika, a brojevi objekata i generacije ostaju stabilni, tako da svaka preživela unakrsna referenca ostaje važeća

Izlaz je jedna klasična revizija bez tokova objekata i bez toka unakrsnih referenci, a ponovo izgrađeni trejler prenosi /Root, /Info i /ID

Policies and limits

Example

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

See Also

SaveAsReachable, SaveAs, SaveAsNormalizedContent