/Info v trailerifunction SaveAsReachable(Stream: TStream; out Report: TPdfPruneReport; AllowSignedDocument: Boolean = False): Boolean;
function SaveAsReachable(const FileName: string; out Report: TPdfPruneReport; AllowSignedDocument: Boolean = False): Boolean;
PDFium najprv zapíše neinkrementálnu kópiu aktuálneho dokumentu v pamäti, takže prepis začína od kanonických bajtov
Graf objektov sa potom analyzuje a prechod dosiahnuteľnosti celým dokumentom z katalógu zhromaždí každý preživší nepriamy objekt, vrátane stromu strán, zdrojov strán, písem, obrázkov, formulárových XObjectov, AcroForm, stromu štruktúry, osnovy, stromov názvov, voliteľného obsahu, metadát, výstupných zámerov a pridružených súborov
Objekty, ktoré sa stali nedosiahnuteľnými kvôli inkrementálnym aktualizáciám, zlúčeniu strán alebo opraveným uloženiam, sa zahodia a výstupom je jediná klasická revízia bez objektových prúdov a bez prúdu krížových referencií
Čísla objektov a generácie sa zachovajú, takže každá preživšia krížová referencia zostáva platná bez prečíslovania; nedosiahnuteľné objekty sa stanú voľnými záznamami v znovu zostavenej klasickej tabuľke krížových referencií
Znovu zostavený trailer prenáša /Root, /Info a /ID len vtedy, keď referencované objekty prežili čistenie
TPdfPruneReport hlási počty zachovaných a orezaných nepriamych objektov, veľkosti zdroja a výstupu v bajtoch a štruktúrovanú správu o zlyhaníAllowSignedDocument, pretože úplný prepis zneplatní existujúce bajtové rozsahy podpisov
Pdf.SaveAsReachable('pruned.pdf', Report);
WriteLn('Kept ', Report.KeptObjectCount, ' pruned ', Report.PrunedObjectCount);