![避免每次编译时生成新的 PDF ID](https://linux22.com/image/452835/%E9%81%BF%E5%85%8D%E6%AF%8F%E6%AC%A1%E7%BC%96%E8%AF%91%E6%97%B6%E7%94%9F%E6%88%90%E6%96%B0%E7%9A%84%20PDF%20ID%20.png)
我想使用 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。