class procedure SetDeterministicTime(FixedEpoch: Int64);
| FixedEpoch | Int64. Времето, което PDFium трябва да отчита, като секунди от Unix епохата |
PDFium чете системния часовник, когато записва датите на създаване и модификация и други стойности, изведени от времето. Две изпълнения на същия код затова произвеждат два различни файла, което нарушава байтовото сравнение в тестове и възпроизводимите компилации
Фиксирането на часовника прави изхода зависим само от входа. Това е класов метод, така че се прилага към всеки екземпляр на TPdf в процеса и остава в сила, докато не се извика RestoreActualTime
Действа само когато зареденият PDFium модул излага куката за време; при модул без нея извикването се приема, но часовникът не се замества
TPdf.SetDeterministicTime(1700000000);
try
Pdf.SaveAs('reproducible.pdf');
finally
TPdf.RestoreActualTime;
end;