尽管有工具可以访问 PDF 元数据,例如pdfinfo
,但我没有找到获取预告片 ID 的正确方法。相反,我使用编辑器并搜索... 所以我的第一个问题是,是否有命令行工具可以为我完成这项工作。
尽管如此,我发现并且感到疑惑:该 ID 有两个部分,预告片如下所示:
trailer << /Info 2 0 R /Root 1 0 R /Size 3656
/ID [<2442556d3492442c8e034f4bf45c46d4><31415926535897932384626433832795>] >>
我对这两个部分 ID 的用途感到疑惑;PDF 规范对此没有说明。在我用 latex 创建的 PDF 中,这两个部分是一致的。
我还想知道为什么有些工具似乎喜欢qpdf
写小写字母,而其他工具(如 latex 编译器)似乎使用大写字母。这使得相等性测试变得困难。
即使调用,qpdf
结果SOURCE_DATE_EPOCH=hex number
也不会改变。...这与乳胶编译器不同。
关于你的第二个问题
PDF规范解释道:
(ISO 32000-2)
因此,第一部分标识跨修订的文档,第二部分标识单个修订。
十六进制字符串可以使用小写或大写字母,甚至可以混合使用。ID 比较必须准备好处理这种情况。
您可以使用以下方式提取 JSON 格式的 ID
cpdf -print-dict-entry /ID in.pdf
例如