PDFium Delphi Component Docs

SaveAsReachable metóda

Component: TPdf  ·  Unit: PDFium
Prepíše dokument ako jedinú čistú revíziu, ktorá zachová len nepriame objekty dosiahnuteľné z katalógu a zo slovníka /Info v traileri

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 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

Policies and limits

Example

Pdf.SaveAsReachable('pruned.pdf', Report);
WriteLn('Kept ', Report.KeptObjectCount, ' pruned ', Report.PrunedObjectCount);

See Also

SaveAs, SaveAsRepaired, SaveAsNormalizedContent