/Info vlečkafunction SaveAsReachable(Stream: TStream; out Report: TPdfPruneReport; AllowSignedDocument: Boolean = False): Boolean;
function SaveAsReachable(const FileName: string; out Report: TPdfPruneReport; AllowSignedDocument: Boolean = False): Boolean;
PDFium najprej zapiše neinkrementalno kopijo trenutnega dokumenta v pomnilniku, da se prepis začne iz kanoničnih bajtov
Graf predmetov se nato razčleni in sprehod po dosegljivosti po celem dokumentu iz kataloga zbere vsak preživeli posredni predmet, vključno z drevesom strani, viri strani, pisavami, slikami, obrazci XObjects, AcroForm, drevesom strukture, orisi, imenskimi drevesi, neobvezno vsebino, metapodatki, namerni izhodi in povezanimi datotekami
Predmeti, ki so ostali nedosegljivi zaradi inkrementalnih posodobitev, spajanj strani ali popravljnih shranjevanj, se izvržejo, izhod pa je ena sama klasična revizija brez tokov predmetov in brez navzkrižnega referenčnega toka
Številke predmetov in generacije se ohranijo, zato vsaka preživela navzkrižna referenca ostane veljavna brez štetja znova; nedosegljivi predmeti postanejo prosti vnosi v obnovljeni klasični navzkrižni referenčni tabeli
Obnovljeni vleček prenaša /Root, /Info in /ID naprej le, kadar so referencirani predmeti preživeli pometanje
TPdfPruneReport poroča o številih ohranjenih in odstranjenih posrednih predmetov, velikostih vira in izhoda v bajtih ter strukturiranem sporočilu o napakiAllowSignedDocument izrecno omogočen, ker poln prepis razveljavi obstoječe obsege bajtov podpisov
Pdf.SaveAsReachable('pruned.pdf', Report);
WriteLn('Kept ', Report.KeptObjectCount, ' pruned ', Report.PrunedObjectCount);