本文主要介绍HTML到PDF的纯客户端和纯服务器实现方案。通过示例代码详细介绍,对大家的学习或工作有一定的参考学习价值。需要它的朋友将和边肖一起学习。
需求
用户可以在填写表单并点击保存后直接下载pdf文档。
解决思路
服务端生成
思路
谷歌浏览器17年自行开发Chrome Headless功能,同时推出puppet,可以理解为没有界面但能够完成服务器功能的浏览器。
所以我们可以在服务器上启动木偶浏览器,打开目标URL,利用chrome浏览器的转换功能将html转换成pdf。
服务端生成核心代码
首先要做的是安装木偶师。npm安装可能出错。最好用cnpm淘宝镜像安装。
输入cnpm I puppet-s安装依赖项。
创建一个js文件,只需要用木偶浏览器打开URL,保存pdf即可。
//html2pdf.js
const木偶师=require('木偶师');
(async函数(){
//启动服务
const browser=wait puppeter . launch();
//打开选项卡
const page=wait browser . NewPage();
//转到这个地址
' wait page.goto('