PDFium Delphi Component Docs

SaveAsReachable metoda

Component: TPdf  ·  Unit: PDFium
Přepíše dokument jako jednu čistou revizi, která zachová pouze nepřímé objekty dosažitelné z katalogu a slovníku /Info traileru

Syntax

function SaveAsReachable(Stream: TStream; out Report: TPdfPruneReport; AllowSignedDocument: Boolean = False): Boolean;

function SaveAsReachable(const FileName: string; out Report: TPdfPruneReport; AllowSignedDocument: Boolean = False): Boolean;

Description

PDFium nejprve zapíše nepřírůstkovou kopii aktuálního dokumentu v paměti, takže přepis začíná od kanonických bajtů

Graf objektů je poté rozparsován a celodokumentová procházka dosažitelnosti z katalogu shromáždí každý přeživší nepřímý objekt, včetně stromu stránek, zdrojů stránek, písem, obrázků, formulářových XObjects, AcroForm, stromu struktury, osnov, stromů názvů, volitelného obsahu, metadat, výstupních záměrů a přidružených souborů

Objekty ponechané nedosažitelné přírůstkovými aktualizacemi, sloučením stránek nebo opravenými uloženími jsou zahozeny a výstup je jediná klasická revize bez objektových proudů a bez proudu křížových odkazů

Čísla objektů a generace jsou zachovány, takže každý přeživší křížový odkaz zůstává platný bez přečíslování; nedosažitelné objekty se stanou volnými položkami v znovu sestavené klasické tabulce křížových odkazů

Znovu sestavený trailer přenáší /Root, /Info a /ID dále pouze tehdy, když odkazované objekty přežily zametení

Policies and limits

Example

Pdf.SaveAsReachable('pruned.pdf', Report);
WriteLn('Zachováno ', Report.KeptObjectCount, ' vyřazeno ', Report.PrunedObjectCount);

See Also

SaveAs, SaveAsRepaired, SaveAsNormalizedContent