PDFium Delphi Component Docs

SaveAsReachable Método

Componente: TPdf  ·  Unidade: PDFium
Reescreve o documento como uma única revisão limpa que mantém somente os objetos indiretos alcançáveis a partir do catálogo e do dicionário /Info do 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

O PDFium primeiro grava uma cópia não incremental do documento atual em memória, de modo que a regravação comece a partir de bytes canônicos

O grafo de objetos é então analisado e uma varredura de alcançabilidade em todo o documento a partir do catálogo coleta cada objeto indireto sobrevivente, incluindo a árvore de páginas, os recursos de página, fontes, imagens, form XObjects, AcroForm, árvore de estrutura, outlines, name trees, conteúdo opcional, metadados, output intents e arquivos associados

Objetos deixados inalcançáveis por atualizações incrementais, mesclagens de páginas ou salvamentos reparados são descartados, e a saída é uma única revisão clássica sem object streams e sem cross-reference stream

Os números e gerações de objeto são preservados, portanto toda cross-reference sobrevivente continua válida sem renumeração; objetos inalcançáveis tornam-se entradas livres na tabela de cross-reference clássica reconstruída

O trailer reconstruído carrega /Root, /Info e /ID para frente somente quando os objetos referenciados sobreviveram à varredura

Policies and limits

Example

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

See Also

SaveAs, SaveAsRepaired, SaveAsNormalizedContent