我的pdf生成有问题。
当我生成pdf时,几分钟后,当我重新启动相同的脚本生成相同的pdf时,我的第一个pdf和第二个pdf之间没有相同的大小......
这是我的代码:
c = reportlab.pdfgen.canvas.Canvas("test.pdf")
c.showPage()
c.save()
第一个pdf有:1519
字节
第二个有1531
字节
每当我重新启动相同的脚本时,每当我有不同的值时。 为什么?我该如何解决?
答案 0 :(得分:0)
我看不到您的PDF大小更改问题,但是其内容正在更改:
$ python make_pdf.py && md5sum test.pdf
9a1dbc5621622526b4411fb5f818246e test.pdf
$ python make_pdf.py && md5sum test.pdf
b4c3ef4661c2a0f7d5c458757ac8a891 test.pdf
$
根据您的评论提示,设置invariant
option即可解决问题。
import reportlab.pdfgen.canvas
import reportlab.rl_config
reportlab.rl_config.invariant = 1
c = reportlab.pdfgen.canvas.Canvas("test.pdf")
c.showPage()
c.save()
现在内容不会更改,因为PDF没有获得生成的ID,并且时间戳设置为2000 U Jan 2000 UTC。
$ python make_pdf.py && md5sum test.pdf
4a0ecf533e69fc2a91cda0a055cbec58 test.pdf
$ python make_pdf.py && md5sum test.pdf
4a0ecf533e69fc2a91cda0a055cbec58 test.pdf
$