我使用此example(FirstPDF)删除了“new Date()”句子,生成了两个PDF。
它们看起来相同,但在计算它们的md5哈希时,它们实际上是不同的。
我已经检查了他们并注册了creationDate
,即使源代码中未包含句子document.addCreationDate()
。
问题很简单:是否有可能以任何方式使用任何API生成两个完全相等的字节到字节的PDF?
答案 0 :(得分:5)
这应该是它应该如何。除了元数据中的日期之外,还有 也是每次生成PDF时添加的唯一ID 划伤。
答案 1 :(得分:1)
如果您需要两个相同的文件为您提供相同的MD5哈希,为什么不 复制 已经创建的文件?
如果您需要通过两个单独的API调用创建两个相同的文件,那么您可以使用任何 PDF创建API,这是值得的:
答案 2 :(得分:1)
正如here所述,文件不等于,因为它们具有不同的标识符(有两个文件,在不同的时刻创建,应该具有PDF规范中定义的不同ID)。
文件标识符通常是根据日期,路径名称,文件大小,PDF文件内容的一部分(例如信息词典中的条目)创建的哈希。
。
文件标识符在文档加密中涉及(和必需)。因此,具有不同文件标识符的加密PDF文件将具有完全不同的流。
按照设计,您永远不能使用相同的代码创建两个相同的PDF。