PDFium Delphi Component Docs

Método SaveAsReproducible

Componente: TPdf  ·  Unidade: PDFium
Reescreve o documento de modo a que duas gravações do mesmo estado em memória produzam uma 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, pelo que o não determinismo restante está no /CreationDate e no /ModDate de relógio de parede que o PDFium escreve no /Info

StripDictionaryEntries remove essas chaves de carimbo temporal do corpo do /Info e o trailer reconstruído omite o /ID de origem (que deriva de bytes com carimbo temporal)

Os objetos inalcançáveis também são varridos exatamente como em SaveAsReachable, e os números e gerações de objeto mantêm-se estáveis

Policies and limits

Example

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

See Also

SaveAsReachable, SaveAs, SaveAsDeduplicated