3
我使用CFDOCUMENT创造CF9.0.1一个PDF PDF。但是,每次使用CFDOCUMENT生成新PDF时,如果输入相同,则MD5哈希似乎不同。CFDOCUMENT创建了不同的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,如果给定相同的输入?
我跑的Hex文件比较,发现文件中三个部分的区别:
- 的字体名字,例如: 62176/FONTNAME/OJSSWJ + TimesNewRomanPS(该OJSSWJ是随机的)
- 时间戳/ CreationDate(d:20110927152929 + 08'00' )
- 某种在结束键的:<] /信息12 0 R /尺寸13 >>
感谢您的帮助提前!
感谢您的意见,但我希望有一种方法实际上迫使PDF生成在相同的HTML内容相同的PDF(例如指定一个固定的创建日期如果可能的话)。我的例子是严格地简化了要求,这是因为发生的事情是这些文件是在多方发送的时候生成的,我们需要跟踪传入的文件以确保它不是重复文件。 – andrwo
当文件传入时,删除更改的PDF部分,然后删除MD5,然后检查其中的重复项。 –