PDFium Delphi Component Docs

SaveAsReproducible Método

Componente: TPdf  ·  Unidade: PDFium
Reescreve o documento de modo que dois salvamentos do mesmo estado em memória produzam saída idêntica byte a byte

Syntax

function SaveAsReproducible(Stream: TStream; out Report: TPdfReproducibleReport; AllowSignedDocument: Boolean = False): Boolean;

function SaveAsReproducible(const FileName: string; out Report: TPdfReproducibleReport; AllowSignedDocument: Boolean = False): Boolean;

Description

A ordem dos objetos já é estável (número de objeto ascendente) e a derivação do /ID por hash de conteúdo é determinística, portanto a não determinismo restante está no /CreationDate e /ModDate de relógio de parede que o PDFium grava em /Info

StripDictionaryEntries remove essas chaves de timestamp do corpo de /Info, e o trailer reconstruído omite o /ID de origem (que deriva de bytes com marca de tempo)

Objetos inalcançáveis também são varridos exatamente como em SaveAsReachable, e os números e gerações de objeto permanecem estáveis

Policies and limits

Example

Pdf.SaveAsReproducible('stable.pdf', Report);
WriteLn('stripped ', Report.StrippedTimestampCount, ' timestamps');

See Also

SaveAsReachable, SaveAs, SaveAsDeduplicated