function SaveAsDeduplicated(Stream: TStream; out Report: TPdfDedupReport; AllowSignedDocument: Boolean = False): Boolean;
function SaveAsDeduplicated(const FileName: string; out Report: TPdfDedupReport; AllowSignedDocument: Boolean = False): Boolean;
PDFium اول نسخهٔ غیرافزایشی سند درونحافظهٔ جاری را مینویسد، سپس پوششگر پیمایش دسترسپذیری سراسر سند را انجام و هر شیء غیرقابلدسترس را دقیقاً مانند SaveAsReachable حذف میکند
سپس قلمها، تصاویر و فرم XObjectها اثر انگشت میگیرند: هر دیکشنری نامزد، زیرگراف کامل قابلدسترس و محتوای خام جریانش بازگشتی هش میشوند، بنابراین تکراریها فقط وقتی کل محتوایشان یکسان است ادغام میشوند
هر ارجاع متقاطعی که به تکراری ادغامشده اشاره میکرد به نمایندهٔ بازمانده بازنویسی میشود و شمارههای شیء و نسلها پایدار میمانند تا هر ارجاع متقاطع بازمانده معتبر بماند
خروجی یک بازبینی کلاسیک واحد بدون جریان شیء و بدون جریان ارجاع متقاطع است و trailer بازسازیشده /Root، /Info و /ID را جلو میبرد
TPdfDedupReport شمارش اشیاء نگهداشته و هرسشده بهعلاوهٔ شمارش ادغامشدهٔ قلم، تصویر و فرم XObject در هر دسته را با اندازههای بایت منبع و خروجی و پیام شکست ساختاریافته گزارش میکندAllowSignedDocument صریح فعال شود چون بازنویسی کامل محدودههای بایت امضای موجود را بیاعتبار میکند
Pdf.SaveAsDeduplicated('deduplicated.pdf', Report);
WriteLn('merged ', Report.MergedImageCount, ' images');