首页 > 解决方案 > 在 Python 中将 HTML 转换为 PDF

问题描述

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

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

标签: pythonhtmlpyinstallerwkhtmltopdfpython-pdfkit

解决方案


如果您想将 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")


推荐阅读