[NTG-pdftex] Deterministic PDFs (switch to disable addition of timestamps and random ID nonces)

Markus Kuhn Markus.Kuhn at cl.cam.ac.uk
Thu Jun 25 17:00:18 CEST 2015


On 25/06/15 15:25, Hans Hagen wrote:
> \pdfinfo{/CreationDate/null}
> \pdfinfo{/ModDate/null}
> \pdfinfo{/ID/null}

Two problems with this:

- While your suggestion does make /CreationDate and
   /ModDate deterministic, I believe it leads to an output file
   that violates the ISO 32000 PDF 1.7 standard, which says
   in section 14.3.3 (p 549): "Any entry whose value is not known
   should be omitted from the dictionary rather than included with an
   empty string as its value."

   http://wwwimages.adobe.com/content/dam/Adobe/en/devnet/pdf/pdfs/PDF32000_2008.pdf

   Your solution leads to

     /CreationDate/null/ModDate/null/ID/null

   in that dictionary.

- The random /ID is *not* an entry in the "document information dictionary"
   (the "info" entry in the file trailer that \pdfinfo modifies),
   which is why your attempt to modify it with \pdfinfo did not affect its
   32-hex digit value.

(When testing from a script, make sure that the two invocations to pdftex
are at least one second apart, otherwise their outputs will be identical
simply due the 1-second resolution of the timestamps.)

Markus

-- 
Markus Kuhn, Computer Laboratory, University of Cambridge
http://www.cl.cam.ac.uk/~mgk25/ || CB3 0FD, Great Britain


More information about the ntg-pdftex mailing list