PDFium Delphi Component Docs

เมธอด SetDeterministicTime

Component: TPdf  ·  Unit: PDFium
ตรึงนาฬิกาที่ PDFium ประทับลงในเอกสารที่สร้างขึ้น เพื่อให้ผลลัพธ์ทำซ้ำได้ทุกไบต์

Syntax

class procedure SetDeterministicTime(FixedEpoch: Int64);

FixedEpochInt64. เวลาที่ PDFium ควรรายงาน เป็นวินาทีนับจาก Unix epoch

Description

PDFium อ่านนาฬิกาของระบบเมื่อเขียนวันที่สร้าง วันที่แก้ไข และค่าอื่นที่อนุพันธ์จากเวลา การรันโค้ดชุดเดียวกันสองครั้งจึงได้ไฟล์ที่ต่างกัน ซึ่งทำให้การเปรียบเทียบไบต์ในการทดสอบและ reproducible build ใช้ไม่ได้

การตรึงนาฬิกาทำให้ผลลัพธ์ขึ้นอยู่กับอินพุตเพียงอย่างเดียว นี่เป็น class method จึงมีผลกับอินสแตนซ์ TPdf ทุกตัวในโปรเซส และคงอยู่จนกว่าจะเรียก RestoreActualTime

จะมีผลเฉพาะเมื่อโมดูล PDFium ที่โหลด export time hook ออกมา บนโมดูลที่ไม่มี การเรียกจะถูกรับไว้แต่นาฬิกาไม่ถูกแทนที่

Example

TPdf.SetDeterministicTime(1700000000);
try
  Pdf.SaveAs('reproducible.pdf');
finally
  TPdf.RestoreActualTime;
end;

See Also

RestoreActualTime, SaveAsReproducible, CreationDate, ModifiedDate