把网页导出成PDF

💡 原文中文,约9200字,阅读约需22分钟。
📝

内容提要

网页导出为PDF的方法有:前端调用浏览器API、使用隐藏iframe和后台生成PDF。前者速度快但样式可能混乱,后者样式一致但消耗服务器资源。最佳实践是在项目初期考虑打印样式,并直接调用print事件。

🎯

关键要点

  • 网页导出为PDF的方法包括前端调用浏览器API、使用隐藏iframe和后台生成PDF。
  • 前端生成PDF速度快,但样式可能混乱,需适应打印样式。
  • 使用隐藏iframe生成PDF稍复杂,但样式控制更简单。
  • 后台生成PDF可保持一致样式,但消耗服务器资源,速度较慢。
  • 使用html2canvas和jsPDF在前端生成PDF存在分页问题,且无法保留a标签。
  • 在项目初期考虑打印样式是最佳实践,直接调用print事件。
  • 如果导出需求中途出现,建议单独写一份用于打印的HTML代码。
  • 使用Playwright等工具可以在后台生成PDF,支持SPA。
  • Chrome命令行参数可用于生成PDF,支持多种设置。
  • Opera浏览器可通过图形界面保存页面为PDF,保留样式和链接。
  • Adobe Acrobat扩展可生成PDF,但需安装Adobe Acrobat,存在商业风险。
➡️

继续阅读