PDFium Component Docs

SaveAsReachable Método

Componente: TPdf  ·  Unidad: PDFium
Reescribe el documento como una única revisión limpia que conserva solo los objetos indirectos alcanzables desde el catálogo y el diccionario /Info del 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 escribe primero una copia no incremental del documento actual en memoria, de modo que la reescritura parte de bytes canónicos

Luego se analiza el grafo de objetos y un recorrido de alcanzabilidad sobre todo el documento desde el catálogo recopila cada objeto indirecto superviviente, incluidos el árbol de páginas, los recursos de página, las fuentes, las imágenes, los form XObjects, AcroForm, el árbol de estructura, los esquemas, los árboles de nombres, el contenido opcional, los metadatos, las output intents y los archivos asociados

Los objetos que quedaron inalcanzables por actualizaciones incrementales, fusiones de páginas o guardados reparados se descartan, y la salida es una única revisión clásica sin object streams ni cross-reference stream

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

El trailer reconstruido propaga /Root, /Info e /ID 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