PDFium Delphi Component Docs

SaveAsDeduplicated Méthode

Composant: TPdf  ·  Unit: PDFium
Réécrit le document comme une seule révision propre qui balaie d’abord les objets inaccessibles puis réduit les polices, images et XObjects de formulaire compatibles vers un seul représentant partagé

Syntax

function SaveAsDeduplicated(Stream: TStream; out Report: TPdfDedupReport; AllowSignedDocument: Boolean = False): Boolean;

function SaveAsDeduplicated(const FileName: string; out Report: TPdfDedupReport; AllowSignedDocument: Boolean = False): Boolean;

Description

PDFium écrit d’abord une copie non incrémentale du document en mémoire courant, puis l’enveloppe effectue une marche d’accessibilité à l’échelle du document et abandonne chaque objet inaccessible exactement comme SaveAsReachable

Les polices, images et XObjects de formulaire sont ensuite empruntés : chaque dictionnaire candidat, son sous-graphe accessible complet et sa charge utile de flux brute sont hachés récursivement, de sorte que les doublons ne fusionnent que lorsque leur contenu entier est identique

Chaque référence croisée qui pointait vers un doublon fusionné est réécrite vers le représentant survivant, et les numéros d’objet et générations restent stables afin que chaque référence croisée survivante reste valide

La sortie est une seule révision classique sans flux d’objet et sans flux de références croisées, et le trailer reconstruit porte /Root, /Info et /ID en avant

Policies and limits

Example

Pdf.SaveAsDeduplicated('deduplicated.pdf', Report);
WriteLn('merged ', Report.MergedImageCount, ' images');

See Also

SaveAsReachable, SaveAs, SaveAsNormalizedContent