class procedure SetDeterministicTime(FixedEpoch: Int64);
| FixedEpoch | Int64. Timpul pe care PDFium trebuie să îl raporteze, ca secunde de la epoca Unix |
PDFium citește ceasul sistemului atunci când scrie datele de creare și de modificare și alte valori derivate din timp. Două rulări ale aceluiași cod produc, prin urmare, două fișiere diferite, ceea ce strică comparația octet cu octet în teste și build-urile reproductibile
Fixarea ceasului face ca ieșirea să depindă doar de intrare. Aceasta este o metodă de clasă, deci se aplică fiecărei instanțe TPdf din proces și rămâne în vigoare până când este apelat RestoreActualTime
Are efect doar atunci când modulul PDFium încărcat exportă hook-ul de timp; pe un modul fără el, apelul este acceptat, dar ceasul nu este suprascris
TPdf.SetDeterministicTime(1700000000);
try
Pdf.SaveAs('reproducible.pdf');
finally
TPdf.RestoreActualTime;
end;