function SaveAsDeduplicated(Stream: TStream; out Report: TPdfDedupReport; AllowSignedDocument: Boolean = False): Boolean;
function SaveAsDeduplicated(const FileName: string; out Report: TPdfDedupReport; AllowSignedDocument: Boolean = False): Boolean;
PDFium pirmiausia įrašo neprieauginę dabartinio atmintyje esančio dokumento kopiją, tada apvalkalas atlieka viso dokumento pasiekiamumo apejimą ir pašalina kiekvieną nepasiekiamą objektą visiškai kaip SaveAsReachable
Tada šriftai, paveikslėliai ir form XObject gauna atspaudus: kiekvienas kandidato žodynas, visas jo pasiekiamas pografis ir neapdorotas srauto turinys maišomi rekursyviai, todėl dublikatai suliejami tik tada, kai visas jų turinys yra identiškas
Kiekviena kryžminė nuoroda, rodžiusi į sulietą dublikatą, perrašoma į išlikusį atstovą, o objektų numeriai ir kartos lieka stabilūs, todėl kiekviena išlikusi kryžminė nuoroda išlieka galiojanti
Išvestis yra viena klasikinė revizija be objektų srautų ir be kryžminių nuorodų srauto, o atstatytas trailer perduoda /Root, /Info ir /ID
TPdfDedupReport praneša išlaikytus ir apkarpytus objektų skaičius bei pagal kategorijas sulietus šriftų, paveikslėlių ir form XObject skaičius, su šaltinio ir išvesties baitų dydžiais ir struktūrizuotu klaidos pranešimuAllowSignedDocument yra aiškiai įjungtas, nes pilnas perrašymas paverčia negaliojančiais esamus parašų baitų diapazonus
Pdf.SaveAsDeduplicated('deduplicated.pdf', Report);
WriteLn('merged ', Report.MergedImageCount, ' images');