我正在使用CFDOCUMENT在CF9.0.1中创建PDF。但是,每次使用CFDOCUMENT生成新PDF时,输入相同,MD5哈希值似乎不同。
测试代码很简单:
<cfdocument name=FileData1 format="PDF" localurl="yes" pagetype="A4"><h3>I am happy!</h3></cfdocument>
<cfdocument name=FileData2 format="PDF" localurl="yes" pagetype="A4"><h3>I am happy!</h3></cfdocument>
<cffile ACTION="write" FILE="C:\happy1.pdf" OUTPUT=#FileData1# ADDNEWLINE=NO NAMECONFLICT="Override">
<cffile ACTION="write" FILE="C:\happy2.pdf" OUTPUT=#FileData2# ADDNEWLINE=NO NAMECONFLICT="Override">
生成的两个文件都有不同的MD5文件哈希,尽管两个PDF看起来完全一样。我有一个用户要求,如果文件是相同的,忽略PDF的再生,那么有人知道如果给出相同的输入,如何强制CF9生成相同的MD5哈希(位相似性)相同的PDF?
我运行了HxD Hex File Compare,发现该文件有三个部分:
提前感谢您的帮助!
答案 0 :(得分:4)
他们永远不会是一样的。
时间戳/ CreationDate(D:20110927152929 + 08'00')
creationDate是创建它的时间戳,因此除非你每次都在同一秒创建它,否则它将不会相同。
您可以修改pdf并删除或修改此位。
或者使用不同的方法来确定是否应该创建pdf,将其创建为md5比较结果似乎浪费了处理能力。