Playwright 网页 PDF 导出自动化
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/playwright-pdf-export-automation
技能介绍
问题:把网页变成 PDF 并没有看起来那么简单
浏览器自带的「打印为 PDF」只能手动操作,没法批量出报告、定时跑导出任务,也没法把内部系统页面自动归档。截图拼接的脚本方案在分辨率和分页上经常翻车,而服务器环境压根没有图形界面。这个技能要解决的就是:在无显示器的机器上,用代码把指定网页可靠地渲染成版式可控的 PDF。
核心能力与工作方式
技能基于 Playwright 的 chromium.launch() 启动无头 Chromium,再通过 page.pdf() 输出文件,关键配置都集中在 PDFOptions 里:
- 纸张尺寸:支持
A4与Letter,覆盖最常见的两种报告规格 - 页眉页脚模板:可注入页码、标题、生成时间,适合归档和分发场景
- 边距配置:四项边距独立可调,避免内容贴边或被裁切
- 无头运行:不需要图形界面,能直接放进 CI、定时任务或容器
典型流程是:启动浏览器实例 → 打开目标 URL → 等待页面就绪 → 调用 page.pdf() 并传入配置 → 写入文件。对 HTML 结构没有特殊要求,只要 Chromium 能正常渲染,就能拿到和浏览器打印视图一致的输出。
适用边界与注意点
- 资料中只覆盖 Chromium 内核;Playwright 还支持 Firefox 和 WebKit,但不在本技能范围内
- 导出效果依赖目标页面自身的 CSS(
@page、打印样式表),打印优化不足的页面可能需要先注入样式 - 页眉页脚使用 Playwright 的模板语法,多行或表格类复杂排版能力有限
- 产物是静态 PDF,表单控件、懒加载图表等交互内容需在导出前确认已渲染完成
使用场景
- 后端开发需要在 CI 流水线中把自动化测试结果渲染成带页码的 PDF 报告并归档。
- 运维工程师要在服务器上定时抓取内部监控面板页面,导出为 A4 格式 PDF 存档。
- 技术文档工程师需要将多个在线页面批量转成统一页边距的 Letter 尺寸 PDF 用于分发。
- 企业内部系统开发者为后台管理页面添加一键导出功能,生成包含页眉标题和页码的 PDF。
适合人员
- 后端开发工程师:需要在 CI 流水线中把测试报告自动生成 PDF 并归档,不想手动截图拼接。
- DevOps 工程师:要在无图形界面的服务器上定时把监控页面导出为 PDF 供审计留档。
- 技术文档工程师:需要把在线文档批量转成带页眉页脚和页码的 PDF 版本交付给客户。
- 企业内部工具开发者:为内部系统添加自动生成 A4 格式合同或报表 PDF 的导出能力。