在Python中将HTML转换为PDF

时间:2018-10-17 21:52:27

标签: python html pyinstaller wkhtmltopdf python-pdfkit

将HTML字符串文件转换为PDF的好方法是什么?我正在尝试创建一个简单的工具,该工具使用一些用户输入和HTML模板来创建PDF报告。我想分发此工具,以便其他同事可以使用它。

现在我正在尝试使用pdfkit和wkhtmltopdf。问题是,只有指定wkhtmltopdf.exe文件的路径时,我才能使此代码正常工作。当我使用PyInstaller打包代码时,其他用户将无法使用该程序,因为他们没有HTML模板文件或wkhtmltopdf的路径。关于如何解决此问题的任何想法,或者我应该使用任何替代的python包/方法?

1 个答案:

答案 0 :(得分:1)

如果您想将HTML模板打包在模块中,并且正在使用setuptools,则可以通过以下更改包括其他文件:

  1. 在模块的基本目录中创建一个名为MANIFEST.in的文件
  2. 添加您要包括的所有文件,例如:include <path/to/file/in/module>
  3. setup.py中将include_package_data=True添加到setup()

进行这些更改应允许您的模块包含您的模板,并允许其他模块将其转换为PDF。

如果模块中存在路径问题,请确保使用绝对路径引用其他文件。我建议使用内置的os模块来构建适合任何用户的路径。例如:os.path.abspath("path/to/my/file")