Kozea

WeasyPrint

Kozea

WeasyPrint 是把 HTML 与 CSS 渲染为 PDF 的 Python 可视化引擎,适合生成报告、发票、票据等打印文档,CSS 布局引擎专为分页设计且不依赖浏览器内核。

v70.0
发布于
2026年9月8日
9,709
星标
28,698
下载
同步于
8 天前

最新版本

v70.02026年9月8日 20:31
下载慢?可在上方随时切换镜像源

项目说明

项目概述

WeasyPrint 自称文档工厂,帮助 Web 开发者把简单的 HTML 页面变成精美的统计报告、发票、票据等 PDF 文档。它是一个面向 HTML 和 CSS 的可视化渲染引擎,目标是支持面向打印的 Web 标准;CSS 布局引擎用 Python 编写、专为分页设计,不依赖 WebKit 或 Gecko 等浏览器内核。

项目 内容
平台 Linux、macOS、Windows
语言 Python 3.11+
许可 BSD 三条款
输出格式 PDF

会写 HTML 和 CSS,就能产出排版精良的 PDF。

主要功能

  • HTML 转 PDF:传入 URL 或 HTML 文件即可渲染为分页 PDF
  • CSS 分页引擎:布局引擎专为打印分页设计,支持页眉页脚与页码
  • 打印标准支持:实现面向打印的 CSS 特性,如 @page 规则
  • 字体处理:支持 web 字体与系统字体的使用和嵌入
  • Python API:一行调用即可在服务端生成 PDF
  • 独立内核:不依赖浏览器引擎,部署轻便、可按需扩展

适用人群

  • 需要生成报表、发票的后端开发者
  • 把网页内容归档为 PDF 的运维团队
  • 出版与票据打印系统开发者
  • 希望复用 CSS 排版技能的 Web 工程师

快速上手

  1. 安装
pip install weasyprint
  1. 在 Python 中渲染 PDF
from weasyprint import HTML

HTML('report.html').write_pdf('report.pdf')
  1. 也可以直接用命令行转换
weasyprint report.html report.pdf

核心优势

  • 复用 Web 技能:排版直接用 HTML 与 CSS 表达,无需学习新模板语言
  • 专为分页而生:页码、分页控制等打印需求原生支持
  • 无浏览器依赖:纯 Python 布局引擎,服务端部署轻便

系统要求

项目 要求
语言 Python 3.11+,支持 CPython 与 PyPy
操作系统 Linux、macOS、Windows
系统依赖 Pango 等图形库

注意事项

  • 非浏览器渲染:不含 JavaScript 执行,动态内容需先渲染为静态 HTML
  • 系统库安装:Linux 服务器上需先安装 Pango,缺失会导致启动报错

历史版本

排序