PDFium Delphi Component Docs

SaveAsDeduplicated metóda

Component: TPdf  ·  Unit: PDFium
Prepíše dokument ako jedinú čistú revíziu, ktorá najprv odstráni nedosiahnuteľné objekty a potom zlúči kompatibilné písma, obrázky a formulárové XObjecty do jedného spoločného zástupcu

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 najprv zapíše neinkrementálnu kópiu aktuálneho dokumentu v pamäti, potom obálka vykoná prechod dosiahnuteľnosti celým dokumentom a zahodí každý nedosiahnuteľný objekt presne ako SaveAsReachable

Následne sa písma, obrázky a formulárové XObjecty opatria odtlačkom: každý kandidátny slovník, jeho celý dosiahnuteľný podgraf a jeho surová obsahová časť prúdu sa rekurzívne hašujú, takže duplicity sa zlúčia len vtedy, keď je ich celý obsah totožný

Každá krížová referencia, ktorá ukazovala na zlúčenú duplicitu, sa prepíše na preživšieho zástupcu a čísla objektov a generácie zostávajú stabilné, takže každá preživšia krížová referencia zostáva platná

Výstupom je jediná klasická revízia bez objektových prúdov a bez prúdu krížových referencií a znovu zostavený trailer prenáša /Root, /Info a /ID

Policies and limits

Example

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

See Also

SaveAsReachable, SaveAs, SaveAsNormalizedContent