PDFium Delphi Component Docs

SaveAsReachable Metodo

Componente: TPdf  ·  Unità: PDFium
Riscrive il documento come una singola revisione pulita che conserva solo gli oggetti indiretti raggiungibili dal catalogo e dal dizionario /Info del trailer

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 scrive prima una copia non incrementale del documento corrente in memoria, così la riscrittura parte da byte canonici

Il grafo degli oggetti viene poi analizzato e una camminata di raggiungibilità a livello di documento dal catalogo raccoglie ogni oggetto indiretto sopravvissuto, inclusi l'albero delle pagine, le risorse delle pagine, i font, le immagini, i Form XObject, AcroForm, l'albero di struttura, gli outline, gli alberi dei nomi, il contenuto opzionale, i metadati, gli output intent e i file associati

Gli oggetti lasciati irraggiungibili dagli aggiornamenti incrementali, dalle fusioni di pagine o dai salvataggi riparati vengono scartati e l'output è una singola revisione classica senza flussi di oggetti e senza flusso xref

I numeri e le generazioni degli oggetti vengono preservati, così ogni riferimento incrociato sopravvissuto resta valido senza rinumerazione; gli oggetti irraggiungibili diventano voci libere nella tabella xref classica ricostruita

Il trailer ricostruito trasporta /Root, /Info e /ID in avanti solo quando gli oggetti referenziati sopravvivono alla spazzatura

Policies and limits

Example

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

See Also

SaveAs, SaveAsRepaired, SaveAsNormalizedContent