/Info-ordbokfunction SaveAsReachable(Stream: TStream; out Report: TPdfPruneReport; AllowSignedDocument: Boolean = False): Boolean;
function SaveAsReachable(const FileName: string; out Report: TPdfPruneReport; AllowSignedDocument: Boolean = False): Boolean;
PDFium skriver först en icke-inkrementell kopia av det aktuella dokumentet i minnet så att omskrivningen utgår från kanoniska byte
Objektgrafen parsas därefter och en nåbarhetsgenomgång av hela dokumentet från katalogen samlar in varje överlevande indirekt objekt, däribland sidträdet, sidresurser, teckensnitt, bilder, form-XObjects, AcroForm, strukturträdet, konturer, namnträd, optional content, metadata, output intents och tillhörande filer
Objekt som lämnats onåbara av inkrementella uppdateringar, sidsammanslagningar eller reparerade sparanden kastas, och utmatningen är en enda klassisk revision utan objektströmmar och utan korsreferensström
Objektnummer och generationer bevaras, så varje överlevande korsreferens förblir giltig utan omnumrering; onåbara objekt blir fria poster i den ombyggda klassiska korsreferenstabellen
Den ombyggda trailern för /Root, /Info och /ID vidare endast när de refererade objekten överlevde svepet
TPdfPruneReport rapporterar antalet behållna och bortrensade indirekta objekt, käll- och utmatningsbytestorlekar samt ett strukturerat felmeddelandeAllowSignedDocument uttryckligen aktiveras, eftersom en fullständig omskrivning ogiltigförklarar befintliga signaturbyteintervall
Pdf.SaveAsReachable('pruned.pdf', Report);
WriteLn('Kept ', Report.KeptObjectCount, ' pruned ', Report.PrunedObjectCount);