Python 中的开源 HTML 到 PDF 转换库
尝试这个免费开源 Python API 作为 HTML 到 PDF 转换库。
什么是WeasyPrint?
WeasyPrint 是一个开源 Python 库和命令行工具,可将 HTML 和 CSS 文件转换为具有高质量渲染的 PDF 文档,使其成为从 Web 内容生成 PDF 的多功能工具。 WeasyPrint 允许使用一行代码将内联 HTML 代码、本地 HTML 文件和 Web URL 转换为 PDF 文档。
下面列出了 WeasyPrint 支持的功能的简要列表:
- WeasyPrint 支持 W3C 编写的许多 CSS 规范。
- 它提供对 URL、HTML 和支持的 HTML 标签的全面支持。
- WeasyPrint 可以通过 URL 获取器处理外部资源,例如图像或 CSS 样式表。
- 默认的 fetcher 可以打开文件和 HTTP URL。
- 它支持与 PDF 生成相关的各种功能,包括字体、CSS、CSS Level 2 Revision 1、Selectors Level 3/4 和 CSS Text。
开始使用 WeasyPrint
您需要 Python 版本 3.7.0 或更高版本才能安装和使用 WeasyPrint。因此,首先安装 Python,然后使用以下命令使用 pip 和虚拟环境:
在 Linux 上安装
python3 -m venv venv
source venv/bin/activate
pip install weasyprint
weasyprint --info
在 Ubuntu 20.04 或更高版本上安装
apt install python3-pip libpango-1.0-0 libharfbuzz0b libpangoft2-1.0-0 libffi-dev libjpeg-dev libopenjp2-7-dev
使用 Homebrew 在 MacOS 上安装
brew install weasyprint
在 Windows 11 64 位上安装
python3 -m venv venv
venv\Scripts\activate.bat
python3 -m pip install weasyprint
python3 -m weasyprint --info
注意:对于 Windows 上的安装,安装 GTK3在运行上述命令之前。
通过 Web URL 将 HTML 转换为 PDF
我们可以使用 WeasyPrint Python 库通过一行代码将任何 HTML 网页转换为 PDF。我们只需要从库中导入 HTML 类,创建一个带有网站 URL 的 HTML 类对象,然后调用 write_pdf 方法将其转换为具有所需名称的 PDF 文档。
使用内联 CSS 通过 Web URL 将 HTML 转换为 PDF
我们还可以使用 WeasyPrint 库将网站 URL 转换为带有内联样式表的 PDF。
结论
WeasyPrint 是一个简单易用的免费开源 Python 库,可将 HTML 和 CSS 转换为 PDF 文档。您可以为所需文档创建基于 HTML 的模板,然后快速将其导出为 PDF。 WeasyPrint 为开发人员提供了灵活的转换选项,允许他们将网站 URL、本地 HTML 文件、包含 HTML 代码的字符串和文件对象等转换为 PDF。
即使 WeasyPrint 也是 Python 开发人员将 HTML 转换为 PDF 文档的一个很好的免费选项,但在复杂的 HTML 和 CSS 结构的情况下,生成的 PDF 文档可能无法以高保真度呈现,这可能会给有严格要求的用户带来问题。