PDFium Component Docs

SaveAsDeduplicated Método

Componente: TPdf  ·  Unidad: PDFium
Reescribe el documento como una única revisión limpia que primero barre los objetos inalcanzables y luego consolida fuentes, imágenes y form XObjects compatibles en un solo representante compartido

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

Después se calculan las huellas digitales de las fuentes, las imágenes y los form XObjects: cada diccionario candidato, todo su subgrafo alcanzable y su carga útil de stream sin procesar se hashan de forma recursiva, de modo que los duplicados se fusionan solo cuando su contenido completo es idéntico

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

La salida es una única revisión clásica sin object streams ni cross-reference stream, y el trailer reconstruido propagan /Root, /Info e /ID

Policies and limits

Example

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

See Also

SaveAsReachable, SaveAs, SaveAsNormalizedContent