///|
/// Generate an /ID entry for a document.
pub fn Pdf::generate_id(
self : Pdf,
path : String,
gettime : () -> Double,
) -> PdfObject {
let _ = self
let stamp = gettime().to_string()
let id = path + stamp
PdfObject::Array([PdfObject::String(id), PdfObject::String(id)])
}
///|
/// Replace the /ID entry in the trailer dictionary.
pub fn Pdf::change_id(self : Pdf, path : String) -> Unit raise {
match self.trailerdict {
Dictionary(_) =>
self.trailerdict = self.trailerdict.add_entry(
"/ID",
self.generate_id(path, () => @env.now().to_double()),
)
_ => raise PdfError::Msg("Bad trailer dictionary")
}
}