PDFium Delphi Component Docs

SaveAsDeduplicated Método

Component: TPdf  ·  Unit: PDFium
Rewrites the document as a single clean revision that first sweeps unreachable objects and then collapses compatible fonts, images, and form XObjects onto one shared representative

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 primero escribe una copia no incremental del documento en memoria actual, luego el envoltorio realiza un recorrido de alcanzabilidad en todo el documento y descarta cada objeto inalcanzable exactamente como SaveAsReachable

Las fuentes, imágenes y XObjects de formulario se identifican entonces por huella: cada diccionario candidato, su subgrafo alcanzable completo y su carga de flujo sin procesar se hashean recursivamente, de modo que los duplicados se fusionan solo cuando todo su contenido es idéntico

Cada referencia cruzada que apuntaba a un duplicado fusionado se reescribe al representante superviviente, y los números de objeto y generaciones permanecen estables de modo que cada referencia cruzada superviviente siga siendo válida

La salida es una única revisión clásica sin flujos de objeto y sin flujo de referencias cruzadas, y el trailer reconstruido lleva /Root, /Info y /ID hacia adelante

Policies and limits

Example

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

See Also

SaveAsReachable, SaveAs, SaveAsNormalizedContent