Python weasyprint 模块:入门指南

Python weasyprint 模块:入门指南

WeasyPrint 是一个用于将 HTML 和 CSS 转换为 PDF 的强大 Python 库。它能够利用 CSS 页眉、页脚以及多个布局特性,生成高质量的 PDF 文档。支持的 Python 版本为 3.6 及以上。

应用场景

WeasyPrint 主要用途是为开发者提供一种简便的方法来生成 PDF 文档,适用场景有:

  • 创建电子邮件报表:将 HTML 文档转换为 PDF,以便通过电子邮件发送。
  • 生成发票:支持将销售订单或发票以 PDF 格式输出,方便发送和存档。
  • 文档说明书:自动生成用户手册或其他说明书 PDF 文件。
  • web 打印选项:允许用户直接从网页打印特定内容为 PDF 文档。

安装说明

WeasyPrint 并不是 Python 的默认模块,需要额外安装。使用以下命令进行安装:

1
pip install WeasyPrint  # 使用 pip 安装 WeasyPrint 库

用法举例

1. 基本用法示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from weasyprint import HTML  # 导入 HTML 类用于转换

# 定义一个 HTML 字符串
html_content = '''
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>测试文档</title>
</head>
<body>
<h1>欢迎使用 WeasyPrint</h1>
<p>这是一个简单的 PDF 文档。</p>
</body>
</html>
'''

# 使用 HTML 类将 HTML 字符串转换为 PDF
HTML(string=html_content).write_pdf('output.pdf') # 输出为 output.pdf 文件

本例展示了如何将一个简单的 HTML 字符串转换为 PDF 文档,并输出到文件中。

2. 使用 CSS 美化 PDF

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from weasyprint import HTML  # 导入 HTML 类

# 定义 HTML 内容及 CSS
html_content = '''
<!DOCTYPE html>
<html>
<head>
<style>
h1 { color: blue; } # 设置 h1 标题颜色为蓝色
p { font-size: 16px; } # 设置段落字体大小
</style>
</head>
<body>
<h1>美化 PDF 文档</h1>
<p>应用 CSS 可以提升文档的可读性。</p>
</body>
</html>
'''

# 将带有 CSS 的 HTML 内容转换为 PDF
HTML(string=html_content).write_pdf('styled_output.pdf') # 输出为 styled_output.pdf 文件

在这个示例中,我们添加了基本的 CSS 样式,使得生成的 PDF 文档更加美观。

3. 从 URL 生成 PDF

1
2
3
4
5
from weasyprint import HTML  # 导入 HTML 类

# 使用 WeasyPrint 从 URL 生成 PDF
url = 'https://example.com' # 定义一个网页 URL
HTML(url=url).write_pdf('from_url.pdf') # 输出为 from_url.pdf 文件

此示例展示了如何直接从一个网页 URL 生成 PDF,适用于需要将网页内容进行打印或保存的场景。

通过以上实例,可以看到 WeasyPrint 的强大功能与灵活性。在任何需要生成 PDF 文档的情况下,WeasyPrint 都是一个理想的选择。

强烈建议大家关注本人的博客全糖冲击博客,这里提供了所有 Python 标准库的使用教程,方便查询和学习。我们的博客不断更新,确保您能够获取最新的编程知识和实用技巧。关注我的博客,让您在学习 Python 时有更为系统和全面的指导,尤其是对标准库的深入解析,绝对会对您的学习之路有所帮助!

软件和库版本不断更新

由于软件和库版本不断更新,如果本文档不再适用或有误,请留言或联系我进行更新。让我们一起营造良好的学习氛围。感谢您的支持! - Travis Tang