开源 Python HTML 到 PDF 转换库
尝试使用这个免费开源 Python 库将 HTML 转换为 PDF 文档。
什么是 xhtml2pdf?
Xhtml2pdf 是一个开源 Python 库,旨在将 HTML 内容转换为 PDF 文档,主要关注保留原始结构和样式。这个功能强大的库可将网页无缝转换为专业的可打印 PDF。
xhtml2pdf 入门
您需要 Python 版本 3.8.0 或更高版本才能安装和使用 xhtml2pdf。因此,首先安装 Python,然后使用以下命令使用 pip 和虚拟环境。
Linux
python -m venv env
. env/bin/activate
pip install xhtml2pdf
苹果系统
python -m venv env
. env/bin/activate
pip install xhtml2pdf
视窗
python -m venv env
.\env\Scripts\activate
pip install xhtml2pdf
将 HTML 字符串转换为 PDF 文档
我们可以使用 xhtml2pdf 库将 HTML 字符串转换为 PDF 文档。我们将完整的 HTML 内容存储在一个变量中,然后将该变量传递给函数 pisa.CreatePDF(html_content, dest,encoding)。此方法为我们提供了 PDF 内容,其中超链接、图像和其他元素在我们传递给它的 BytesIO 对象中进行管理。最后,我们使用 BytesIO 对象中存储的数据创建一个 PDF 文件。检查下面的代码片段了解详细信息:
输出
下面的屏幕截图显示了从 HTML 字符串转换而来的 PDF 文档:
将 HTML 文件转换为 PDF 文档
我们还可以使用 xhtml2pdf 库将 HTML 文件转换为 PDF。我们将 HTML 文件内容读取到一个变量中,然后将该变量传递给 pisa.CreatePDF(html_content, dest,encoding) 方法。之后,我们按照前面示例中共享的相同步骤使用 BytesIO 对象创建 PDF 文档,如下面的代码片段所示:
输出
下面的屏幕截图显示了从 HTML 文件转换而来的 PDF 文档:
结论
总之,xhtml2pdf 是一个开源 Python 库,可将 HTML 转换为 PDF 文档,同时处理超链接、图像和外部样式表。 xhtml2pdf 在将 HTML 转换为 PDF 时不包含前端库,因此当 HTML 中存在诸如 {{name}} 之类的变量时,它们在 PDF 中的显示与 HTML 中写入的完全相同,而不是显示其实际值。
此外,它缺乏对依赖 JavaScript 获取内容的动态页面的支持,并且不遵循复杂的 CSS 指定的布局(例如,它应用 CSS 中提到的颜色、字体大小等,但忽略布局 CSS例如填充、边距、显示等)。尽管存在这些限制,xhtml2pdf 仍然是满足简单的静态 HTML 到 PDF 转换需求的有价值的工具。