PDFium Delphi Component Docs

Metoda SaveAsReachable

Component: TPdf  ·  Unit: PDFium
Rescrie documentul ca o singură revizie curată care păstrează doar obiectele indirecte accesibile din catalog și din dicționarul /Info al trailerului

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

Policies and limits

Example

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

See Also

SaveAs, SaveAsRepaired, SaveAsNormalizedContent