我已使用此example(FirstPDF)刪除「new Date()」句子生成了兩個PDF。使用Java或iText生成兩個完全相同的PDF
他們看起來是平等的,但是當他們計算一個md5散列時,他們真的不一樣。
我檢查過他們,他們註冊了一個creationDate
,即使句子document.addCreationDate()
沒有被包含在源代碼中。
問題很簡單:是否有可能以任何方式使用任何API生成兩個完全相同的字節到字節的PDF?
我已使用此example(FirstPDF)刪除「new Date()」句子生成了兩個PDF。使用Java或iText生成兩個完全相同的PDF
他們看起來是平等的,但是當他們計算一個md5散列時,他們真的不一樣。
我檢查過他們,他們註冊了一個creationDate
,即使句子document.addCreationDate()
沒有被包含在源代碼中。
問題很簡單:是否有可能以任何方式使用任何API生成兩個完全相同的字節到字節的PDF?
如果您需要兩個完全相同的文件給你同樣的MD5哈希值,爲什麼不複製一個已經已經創建一個?
如果需要通過兩個獨立的API調用創建兩個相同的文件,那麼你可以使用任何 PDF創造API,它是值得的錢:
如上所述here,文件不等於,因爲它們具有不同的標識符(具有兩個文件,在不同的時刻創建的,應該有不同的ID作爲在PDF說明書中所定義)。
文件標識符通常是基於日期,路徑名稱,文件大小,PDF文件內容的一部分(例如信息字典中的條目)創建的散列。
。
文件標識符在文件加密中涉及(和強制)。因此,具有不同文件標識符的加密PDF文件將具有完全不同的流。
通過設計,您永遠不能使用相同的代碼創建兩個相同的PDF。
爲什麼你需要生成兩個相同的文件?生成一個,放在文件系統上,然後複製一個文件。 –