On 5/12/26 5:38 PM, Karl Berry wrote:

Sounds reasonable.

     would like to have clarified in the first step if the characters which
     differ are generated by code in the pdfTeX binary, or if we have to
     blame one of the libraries pdfTeX is linked with.

I don't have the brain to be able to look at that hex dump and have any
real clue as to where it came from. It could be part of a png image with
those "unspecified" bytes as mentioned in the bug report (/FlateDecode
.. stream ...). Or maybe it's not. I don't know.

1. I found it easier to understand the change by using a line-by-line difference. With Hilmar's example files, the command line

    diff -sca refman_1.pdf refman_2.pdf

gave

*** refman_1.pdf        Mon May 11 18:40:01 2026
--- refman_2.pdf        Mon May 11 18:40:05 2026
***************
*** 84287,84293 ****
  /W [1 3 1]
  /Root 111760 0 R
  /Info 111761 0 R
! /ID [<BAC5ECC86743A24DB489859FD6D0C0AF> <BAC5ECC86743A24DB489859FD6D0C0AF>]
  /Length 260088
  /Filter /FlateDecode
  >>
--- 84287,84293 ----
  /W [1 3 1]
  /Root 111760 0 R
  /Info 111761 0 R
! /ID [<BA7ACF0ECED2C16FCB4BF449BF00000B> <BA7ACF0ECED2C16FCB4BF449BF00000B>]
  /Length 260088
  /Filter /FlateDecode
  >>

The difference is solely in the /ID line whose contents form a file identifier (according the the pdf standard).

2. I don't think this has anything to do with libpng, since I was able to reproduce the same problem on a trivial file, hello.tex, without included graphics:

   \documentclass{article}
   \begin{document}
   Hello
   \end{document}

I used the following script to test whether the pdf file changes on successive compilations:

    for i in 1 2; do
pdflatex -interaction=batchmode "\pdfinfo{/CreationDate(D:20260429034606Z)/ModDate(D:20260429034606Z)}\input{hello.tex}"
        mv hello.pdf hello${i}.pdf
        sleep 1
    done
    diff -sca hello1.pdf hello2.pdf

The result was differences that were of the same form as for Hilmar's example.

BUT: If I commented out the sleep 1 line, most of the time diff reports identical times. (This is all on TeXLive 2026 on macOS.)

I infer that the contents of the /ID line are obtained from some value of a relevant time to a resolution perhaps of 1 sec. The definition of "File Identifiers" in the PDF standard indicates that the relevant time is the current time. This behavior is not impacted by the setting of the dates/times in the \pdfinfo command.

Best,
John Collins




Attachment: hello.tex
Description: TeX document

Reply via email to