PDFium Delphi Component Docs

SaveAsDeduplicated metoda

Komponenta: TPdf  ·  Jedinica: PDFium
Prepisuje dokument kao jednu čistu reviziju koja prvo uklanja nedostupne objekte, a zatim sažima kompatibilne fontove, slike i form XObjecte na jednog zajedničkog predstavnika

Sintaksa

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

function SaveAsDeduplicated(const FileName: string; out Report: TPdfDedupReport; AllowSignedDocument: Boolean = False): Boolean;

Opis

PDFium najprije zapisuje neinkrementalnu kopiju trenutnog dokumenta u memoriji, a zatim omotač izvodi šetnju dostižnosti kroz cijeli dokument i odbacuje svaki nedostupni objekt potpuno kao SaveAsReachable

Fontovi, slike i form XObjecti zatim se otiskuju: svaki rječnik kandidat, njegov potpuno dostižni podgraf i njegov sirovi tok tereta hashiraju se rekurzivno, pa se duplikati spajaju samo kada je njihov cijeli sadržaj identičan

Svaka unakrsna referenca koja je pokazivala na spojeni duplikat prepiše se na preživjelog predstavnika, a brojevi objekata i generacije ostaju stabilni tako da svaka preživjela unakrsna referenca ostaje valjana

Izlaz je jedna klasična revizija bez object streamova i bez toka unakrsnih referenci, a ponovno izgrađeni trailer prenosi /Root, /Info i /ID

Policies and limits

Primjer

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

Vidi također

SaveAsReachable, SaveAs, SaveAsNormalizedContent