我正在尝试使用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
为什么? 感谢。
答案 0 :(得分: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')