我试图验证从运行到运行时从 wkhtmltopdf 生成的内容是否相同,但是每次运行 wkhtmltopdf 时,我都会针对同一页面获得不同的哈希/校验和值。我们正在谈论一些真正基本的东西,比如使用以下 html 页面:
<html>
<body>
<p> This is some text</p>
</body
</html>
每次我使用以下令人惊奇的行运行 wkhtmltopdf 时,我都会得到不同的 md5 或 sha256 哈希值:
./wkhtmltopdf example.html ~/Documents/a.pdf
并使用 python 哈希器:
def shasum(filename):
sha = hashlib.sha256()
with open(filename,'rb') as f:
for chunk in iter(lambda: f.read(128*sha.block_size), b''):
sha.update(chunk)
return sha.hexdigest()
或 md5 版本,仅将 sha256 与 md5 交换
为什么 wkhtmltopdf 会生成一个不同的文件足以导致不同的校验和,有什么方法可以不这样做?可以传入一些命令行来防止这种情况发生?
我尝试过 --default-header、--no-pdf-compression 和 --disable-smart-shrinking
这是在 MAC osx 上,但我在其他机器上生成了这些 pdf,并下载了它们,结果相同。
wkhtmltopdf 版本 = 0.10.0 rc2