class procedure SetDeterministicTime(FixedEpoch: Int64);
| FixedEpoch | Int64. Tempo che PDFium dovrebbe riportare, in secondi dall'epoca Unix. |
PDFium legge l'orologio di sistema quando scrive le date di creazione e modifica e altri valori derivati dal tempo. Due esecuzioni dello stesso codice producono quindi due file diversi, il che rompe il confronto a livello di byte nei test e nelle build riproducibili
Fissare l'orologio fa sì che l'output dipenda solo dall'input. Questo è un metodo di classe, quindi si applica a ogni istanza TPdf nel processo, e resta in vigore finché RestoreActualTime non viene chiamato
Ha effetto solo quando il modulo PDFium caricato esporta l'hook del tempo; su un modulo privo di esso la chiamata viene accettata ma l'orologio non viene sovrascritto
TPdf.SetDeterministicTime(1700000000);
try
Pdf.SaveAs('reproducible.pdf');
finally
TPdf.RestoreActualTime;
end;