puppeteer生成PDF

此方法生成PDF类似于用一个无框的浏览器访问一个页面,然后将页面的内容打印成PDF,这样的话和我们浏览器自带的打印(ctrl+P)出来的效果一致。

需要先下载puppeteer库

npm install puppeteer --save

创建一个JS文件demo.js

/**  
 *  用node demo.js 'http://localhost:8081/#/printTemp'(需要打印的网页地址)   命令运行此文件即可生成PDF
 *  options里面可以取到命令调用时传过来的参数
 */
const puppeteer = require("puppeteer");
const options = process.argv;  
var address;  

(async () => {
  if (options.length >= 3) {
    address = options[2];
  }
  console.log(options);
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto(
    address, //
    { waitUntil: "networkidle2" }
  );
  await page.waitForSelector("#paper");
  await page.pdf({
    path: "a.pdf",
    format: "a4",
    printBackground: true,
    "-webkit-print-color-adjust": "exact",
  });
  await browser.close();
})();

我们可以用其他后台语言例如java ,在后台调用api 执行 node demo.js xxx(网址) 的命令触发js文件里面的内容去生成pdf

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值