0

我正在尝试使用 wkhtmltopdf 工具和 python 生成一个非常简单的 pdf:

# html string (works fine in all browsers)
html = generate_html()
f = open("/tmp/sudoku.html", 'w')
f.write(html)
system('wkhtmltopdf /tmp/sudoku.html sudoku.pdf')
f.close()

生成的 pdf 是空白的,但是如果我直接从命令行调用 wkhtmltopdf,它可以工作:

wkhtmltopdf /tmp/sudoku.html sudoku.pdf

这是为什么?谢谢。

4

1 回答 1

3

除非/tmp/sudoku.html已经包含内容,否则您需要先关闭文件对象,然后再调用wkhtmltopdf以从中生成 PDF。除非您flush已经写入文件,否则在/tmp/sudoku.html关闭文件之前不会输出任何内容。尝试:

html = generate_html()
f = open("/tmp/sudoku.html", 'w+')
f.write(html)
f.close() # close the file first
system('wkhtmltopdf /tmp/sudoku.html sudoku.pdf')
于 2013-10-29T20:29:03.210 回答