避免每次编译时生成新的 PDF ID

避免每次编译时生成新的 PDF ID

我想使用 lualatex 创建可重现的 PDF,因此如果没有发生代码更改,两次编译运行应该会产生相同的 PDF。我能够使用 hyperref 设置 CreationDate 和 ModDate,但覆盖 ID 不起作用。

\documentclass{standalone}

\usepackage{hyperref}
\hypersetup{
  pdfinfo={
    Author={Just me},
    Title={My title},
    CreationDate={D:20222145000000},
    ModDate={D:20222145000000},
    ID = {6D2C23D7481FB94ACFBDA10EA47F3CB9},
  }
}

\begin{document}

Hallo

\end{document}

答案1

您可以使用新的 pdfmanagement

\pdfmeta_set_regression_data:。这就是我们在 pdf 测试中使用的命令。

\DocumentMetadata{uncompress}
\ExplSyntaxOn
\pdfmeta_set_regression_data:
\ExplSyntaxOff
\documentclass{standalone}

\usepackage{hyperref}

\begin{document}

Hallo

\end{document}

如果没有它你可以添加

   \tex_pdfvariable:D trailerid
     {[~
       <2350CAD05F8A7AF0AA4058486855344F>~
       <2350CAD05F8A7AF0AA4058486855344F>~
     ]}

设置 trailerid。

相关内容