/Info žodynofunction SaveAsReachable(Stream: TStream; out Report: TPdfPruneReport; AllowSignedDocument: Boolean = False): Boolean;
function SaveAsReachable(const FileName: string; out Report: TPdfPruneReport; AllowSignedDocument: Boolean = False): Boolean;
PDFium pirmiausia įrašo neprieauginę dabartinio atmintyje esančio dokumento kopiją, kad perrašymas prasidėtų nuo kanoninių baitų
Tada analizuojamas objektų grafą ir viso dokumento pasiekiamumo apejimas iš katalogo surenka kiekvieną išliekantį netiesioginį objektą, įskaitant puslapių medį, puslapių išteklius, šriftus, paveikslėlius, form XObjects, AcroForm, struktūros medį, struktūrinį turinį, vardų medžius, optional content, metaduomenis, output intents ir susietus failus
Objektai, kurių nebepasiekia inkrementiniai atnaujinimai, puslapių sujungimai ar atkurti įrašymai, pašalinami, o išvestis yra viena klasikinė revizija be objektų srautų ir be kryžminių nuorodų srauto
Objektų numeriai ir kartos išlaikomi, todėl kiekviena išlikusi kryžminė nuoroda lieka galiojanti be pernumeravimo; nepasiekiami objektai tampa laisvais įrašais atkurtoje klasikinėje kryžminių nuorodų lentelėje
Atstatytas trailer perduoda /Root, /Info ir /ID tik tada, kai nurodyti objektai išlieka po valymo
TPdfPruneReport praneša išlaikytų ir apkarpytų netiesioginių objektų skaičius, šaltinio ir išvesties baitų dydžius bei struktūrizuotą nesėkmės pranešimąAllowSignedDocument yra aiškiai įjungtas, nes pilnas perrašymas paverčia negaliojančiais esamus parašų baitų diapazonus
Pdf.SaveAsReachable('pruned.pdf', Report);
WriteLn('Kept ', Report.KeptObjectCount, ' pruned ', Report.PrunedObjectCount);