class procedure SetDeterministicTime(FixedEpoch: Int64);
| FixedEpoch | Int64. Tiempo que PDFium debe reportar, como segundos desde la época Unix |
PDFium lee el reloj del sistema cuando escribe fechas de creación y modificación y otros valores derivados del tiempo. Dos ejecuciones del mismo código producen por tanto dos archivos distintos, lo que rompe la comparación de bytes en pruebas y compilaciones reproducibles
Fijar el reloj hace que la salida dependa solo de la entrada. Este es un método de clase, de modo que se aplica a cada instancia TPdf del proceso, y permanece en efecto hasta que se llama a RestoreActualTime
Solo tiene efecto cuando el módulo PDFium cargado exporta el gancho de tiempo; en un módulo sin él la llamada se acepta pero el reloj no se anula
TPdf.SetDeterministicTime(1700000000);
try
Pdf.SaveAs('reproducible.pdf');
finally
TPdf.RestoreActualTime;
end;