class procedure SetDeterministicTime(FixedEpoch: Int64);
| FixedEpoch | Int64. Czas, który ma raportować PDFium, jako sekundy od epoki Uniksa |
PDFium odczytuje zegar systemowy, gdy zapisuje daty utworzenia i modyfikacji oraz inne wartości pochodne czasu. Dwa uruchomienia tego samego kodu dają zatem dwa różne pliki, co psuje porównania bajtowe w testach i odtwarzalne kompilacje
Ustawienie stałego zegara sprawia, że wyjście zależy wyłącznie od wejścia. Jest to metoda klasowa, więc dotyczy każdej instancji TPdf w procesie i pozostaje w mocy do wywołania RestoreActualTime
Działa tylko wtedy, gdy wczytany moduł PDFium eksportuje zaczep czasu; w module bez niego wywołanie jest przyjmowane, ale zegar nie jest nadpisany
TPdf.SetDeterministicTime(1700000000);
try
Pdf.SaveAs('reproducible.pdf');
finally
TPdf.RestoreActualTime;
end;