Agent Skills
返回列表
💻

WeasyPrint HTML 与 CSS PDF 生成器

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/weasyprint-html-css-pdf-document-generator。

技能介绍

为什么需要专门的 HTML→PDF 工具

直接用浏览器打印 PDF 常遇到三类问题:内容跨页时段落被截断、页眉页脚与正文混淆、移动端布局在纸张上完全失真。更棘手的是,复杂 CSS(如 position: fixed)在分页场景下行为不可预测,开发者往往要写大量特例代码。

WeasyPrint 的工作机制

该技能基于 WeasyPrint 库,核心是用 Python 实现的 原生 CSS 布局引擎,直接解析 HTML 与 CSS,不依赖 WebKit 或 Gecko。关键能力包括:

  • 精确分页控制:通过 page-break-before、break-inside 等属性管理分页时机,避免元素被切断
  • 打印样式支持:支持 @page 规则定义页眉(@top-center)、页脚(@bottom-right)及动态页码计数器
  • 响应式排版:复用 @media 断点规则,让同一套样式适配不同纸张尺寸(如 A4、Letter)

适用边界与注意事项

  • 要求 Python 3.10+ 运行环境,支持 CPython 与 PyPy
  • 需系统安装字体与 Cairo 依赖,否则中文等非拉丁字符可能无法渲染
  • 复杂 CSS 特性(如 transform、Web Animations)暂不支持,需提前验证样式兼容性

使用场景

  • 后端开发者需要将 HTML 报告转换为带页码和页眉的 PDF 文件交付给业务方
  • 前端工程师希望将响应式 Web 页面按 A4 纸张尺寸精确排版为可打印文档
  • 技术文档团队需要将 Markdown 文档渲染为格式统一的 PDF 电子书供下载
  • 设计师需要把 HTML 原型稿导出为分页正确的 PDF 交付印刷

适合人员

  • 后端开发者,需要将 HTML 订单模板渲染为带流水号页眉和页码的 PDF 发票
  • 技术文档工程师,需要将 markdown 文档批量转换为带目录页和页眉的 PDF 手册
  • 前端工程师,需要调试 CSS 打印样式并导出符合印刷标准的 PDF 设计稿