/Info al traileruluifunction SaveAsReachable(Stream: TStream; out Report: TPdfPruneReport; AllowSignedDocument: Boolean = False): Boolean;
function SaveAsReachable(const FileName: string; out Report: TPdfPruneReport; AllowSignedDocument: Boolean = False): Boolean;
PDFium scrie mai întâi o copie non-incrementală a documentului curent din memorie, astfel încât rescrierea pornește de la octeți canonici
Graful de obiecte este apoi parsat, iar o parcurgere de accesibilitate la nivel de document, pornind din catalog, colectează fiecare obiect indirect supraviețuitor, inclusiv arborele de pagini, resursele paginilor, fonturile, imaginile, form XObjects, AcroForm, arborele de structură, schițele, arborii de nume, conținutul opțional, metadatele, intențiile de ieșire și fișierele asociate
Obiectele rămase inaccesibile prin actualizări incrementale, îmbinări de pagini sau salvări reparate sunt eliminate, iar ieșirea este o singură revizie clasică, fără fluxuri de obiecte și fără flux de referințe încrucișate
Numerele și generațiile obiectelor sunt păstrate, deci fiecare referință încrucișată supraviețuitoare rămâne validă fără renumerotare; obiectele inaccesibile devin intrări libere în tabela clasică de referințe încrucișate reconstruită
Trailerul reconstruit propagă /Root, /Info și /ID doar atunci când obiectele referențiate au supraviețuit curățării
TPdfPruneReport raportează numărul obiectelor indirecte păstrate și eliminate, dimensiunile în octeți ale sursei și ieșirii și un mesaj structurat de eșecAllowSignedDocument nu este activat explicit, deoarece o rescriere completă invalidează intervalele de octeți ale semnăturilor existente
Pdf.SaveAsReachable('pruned.pdf', Report);
WriteLn('Kept ', Report.KeptObjectCount, ' pruned ', Report.PrunedObjectCount);