PDFium Delphi Component Docs

SaveAsReachable Méthode

Composant: TPdf  ·  Unit: PDFium
Réécrit le document comme une seule révision propre qui ne garde que les objets indirects accessibles depuis le catalogue et le dictionnaire /Info du 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 écrit d’abord une copie non incrémentale du document en mémoire courant afin que la réécriture démarre depuis des octets canoniques

Le graphe d’objets est ensuite analysé et une marche d’accessibilité à l’échelle du document depuis le catalogue collecte chaque objet indirect survivant, y compris l’arbre de pages, les ressources de page, les polices, images, XObjects de formulaire, AcroForm, l’arbre de structure, les plans, les arbres de noms, le contenu optionnel, les métadonnées, les intents de sortie et les fichiers associés

Les objets laissés inaccessibles par des mises à jour incrémentales, des fusions de pages ou des sauvegardes réparées sont abandonnés, et la sortie est une seule révision classique sans flux d’objet et sans flux de références croisées

Les numéros d’objet et générations sont préservés, donc chaque référence croisée survivante reste valide sans renumérotation ; les objets inaccessibles deviennent des entrées libres dans la table de références croisées classique reconstruite

Le trailer reconstruit ne porte /Root, /Info et /ID en avant que lorsque les objets référencés ont survécu au balayage

Policies and limits

Example

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

See Also

SaveAs, SaveAsRepaired, SaveAsNormalizedContent