PDFium Delphi Component Docs

SaveAsReachable Método

Component: TPdf  ·  Unit: PDFium
Rewrites the document as a single clean revision that keeps only the indirect objects reachable from the catalog and the trailer /Info dictionary

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 primero escribe una copia no incremental del documento en memoria actual para que la reescritura parta de bytes canónicos

El grafo de objetos se analiza entonces y un recorrido de alcanzabilidad en todo el documento desde el catálogo recoge cada objeto indirecto superviviente, incluidos el árbol de páginas, los recursos de página, fuentes, imágenes, XObjects de formulario, AcroForm, árbol de estructura, esquemas, árboles de nombres, contenido opcional, metadatos, intenciones de salida y archivos asociados

Los objetos dejados inalcanzables por actualizaciones incrementales, fusiones de páginas o guardados reparados se descartan, y la salida es una única revisión clásica sin flujos de objeto y sin flujo de referencias cruzadas

Los números de objeto y generaciones se preservan, de modo que cada referencia cruzada superviviente sigue siendo válida sin renumeración; los objetos inalcanzables se convierten en entradas libres en la tabla de referencias cruzadas clásica reconstruida

El trailer reconstruido lleva /Root, /Info y /ID hacia adelante solo cuando los objetos referenciados sobrevivieron al barrido

Policies and limits

Example

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

See Also

SaveAs, SaveAsRepaired, SaveAsNormalizedContent