1. 产品
  2.   PDF格式
  3.   Python
  4.   XHTML2PDF
 
  

免费 Python 库,用于将 HTML 与 CSS 转换为 PDF

开源 Python 库,可从 HTML 生成 PDF 文档。它支持高级页面布局、图像和表格渲染、添加自定义字体、页眉/页脚等。

什么是 XHTML2PDF 库?

在网页开发领域,从 HTML 内容生成 PDF 文档是一个常见需求。无论是用于创建发票、报告,还是其他任何类型的可打印文档,拥有一个可靠的工具来处理此转换至关重要。这正是功能强大的开源 Python 库 XHTML2PDF 发挥作用的地方。html2pdf(前称 pisa)是一个纯 Python 库,能够将 HTML(包括 XHTML)和 CSS 转换为 PDF 文档。它基于 ReportLab 工具包和 html5lib 构建,并可选地支持 PyPDF。跨平台且易于使用,它让开发者能够快速高效地将基于网页的内容转换为可打印的 PDF。

XHTML2PDF 具备丰富的功能,使其成为生成 PDF 的多功能工具。它支持 HTML5 和 CSS 2.1,能够无缝集成 Django,拥有强大的命令行界面、自定义 PDF 专用标签、先进的页面布局和样式、对表格和图像的更好支持等。XHTML2PDF 对开发者如此有吸引力的原因在于其简洁性和灵活性。如果你会编写 HTML 和 CSS,就可以快速使用该库生成 PDF。它是纯 Python 库,这意味着它跨平台,可在任何支持 Python 的操作系统上运行。同时需要注意库的局限性,它并未完全支持 CSS 规范,也不执行 JavaScript。

Previous Next

XHTML2PDF 入门指南

可以使用 pip 安装 XHTML2PDF,以下命令将在平台上有可用的 Python wheel 时进行安装。

通过 pip 安装 XHTML2PDF

 pip install xhtml2pdf 

通过 GitHub 克隆仓库

 git clone https://github.com/xhtml2pdf/xhtml2pdf.git  

也可以手动安装;直接从 GitHub 仓库下载最新发布文件。

通过 Python 将 HTML 与 CSS 转换为 PDF

开源的 XHTML2PDF 库的主要功能是解析 HTML 和 CSS(包括内联样式),并将其准确渲染为 PDF 文档。它支持广泛的 HTML 标签和 CSS 属性子集,提供了显著的设计灵活性。它支持分页、页眉和页脚、页面边距和尺寸、嵌入字体等功能。下面的简单示例展示了软件开发者如何通过 Python 代码将 HTML 内容转换为 PDF 文件。

如何使用 Python 将 HTML 内容转换为 PDF 文件?

from xhtml2pdf import pisa

# 要转换的 HTML 内容
html_content = """


你好,世界!

这是我使用 XHTML2PDF 生成的第一份 PDF。

""" # 输出 PDF 文件名 output_filename = "hello_world.pdf" # 以二进制写入模式打开输出文件 with open(output_filename, "w+b") as pdf_file: # Create the PDF pisa_status = pisa.CreatePDF( html_content, # the HTML to convert dest=pdf_file) # file handle to receive result # 检查 PDF 创建是否成功 if not pisa_status.err: print(f"Successfully created PDF: {output_filename}") else: print(f"Error creating PDF: {pisa_status.err}")

高级页面布局与自定义字体支持

使用 XHTML2PDF 库,软件开发者可以对 PDF 页面布局进行细粒度控制。他们可以使用 @page CSS 规则定义页面尺寸、边距和方向。开发者还可以为文档创建自定义页眉和页脚。此外,如果需要在 PDF 中使用特定字体,库允许嵌入自定义字体。这对于品牌化以及确保所有文档的排版一致性特别有用。

通过 Python 库渲染 PDF 图像和表格

开源的 XHTML2PDF 库提供了强大的支持,可在 PDF 中渲染表格和图像。您可以使用 CSS 为表格设置样式,图像则可以控制其大小和对齐方式。该库能够轻松且正确地解析并嵌入图像、字体和其他静态资源,这对于生成自包含的 PDF 至关重要。只需在 HTML 中添加 标记,即可自动生成目录。

HTML5 与 CSS 2.1 支持

如果您熟悉 HTML 和 CSS,使用样式重新创建 PDF 将变得直观——无需新的学习曲线。XHTML2PDF 库对现代网页标准提供了出色的支持,包括 HTML5 和 CSS 2.1,并对部分 CSS 3 属性提供支持。这意味着您可以使用熟悉的 HTML 标签和 CSS 属性来构建和样式化 PDF 文档,就像为网页一样。

 中国人