python - 在 Python 中将 HTML 转换为 PDF
问题描述
将 HTML 字符串文件转换为 PDF 的好方法是什么?我正在尝试创建一个使用一些用户输入和 HTML 模板创建 PDF 报告的简单工具。我想分发这个工具,以便其他同事可以使用它。
现在我正在尝试使用 pdfkit 和 wkhtmltopdf。问题是,当我指定 wkhtmltopdf.exe 文件的路径时,我只能让这个代码工作。当我使用 PyInstaller 打包代码时,其他用户将无法使用该程序,因为他们没有 HTML 模板文件或 wkhtmltopdf 的路径。关于如何解决这个问题的任何想法,或者我应该使用任何替代的 python 包/方法?
解决方案
如果您想将 HTML 模板打包到您的模块中并且您正在使用setuptools
您可以包含任何其他文件并进行一些更改:
MANIFEST.in
在模块的基本目录中创建一个名为的文件- 添加您想要包含的所有文件,如下所示:
include <path/to/file/in/module>
- 除了
setup.py
_include_package_data=True
_setup()
进行这些更改应该允许您的模块包含您的模板并允许其他模块将其转换为 PDF。
如果您在模块中遇到路径问题,请确保您使用绝对路径来引用其他文件。我建议使用内置os
模块来构建适用于任何用户的路径。例如:os.path.abspath("path/to/my/file")
推荐阅读
- elasticsearch - Search-as-you-type 数据类型和 Edge NGram Tokenizer 之间有什么区别?
- kibana - 为什么 Kibana 可视化创建中的“订单选项”中没有“顶部...”
- exception - F* 在匹配体中引发异常
- flutter - 将 RTL 添加到 ListView.builder 水平颤动
- ramda.js - RamdaJS - 如何使用具有同步和异步功能的管道?
- python - exec() 函数返回无
- powerquery - 如何将重复的行旋转到excel中的不同列
- android - Android-Kotlin 控制来自 firebase push() 的可为空字符串
- django - 使用 facebook 验证 graphql 的正确方法
- django - 在 django 中使用 URL 模板标签的问题