此方法生成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

puppeteer生成PDF相关推荐

  1. puppeteer 生成pdf,绝对解决你的需求

    本人实话实话,这片文章讲的都是汗水换来的,一天多的时间,啃文档,扒 github 的 issue 以及 stackoverflow 各种检索,所幸最终成果喜人,生成的 pdf 有封面,有页眉及页脚,c ...

  2. vscode MPE puppeteer导出pdf的数学公式显示问题

    Vs Code MPE Puppeteer 导出pdf问题 这几天在用vs code写markdown的时候,写完后按照习惯,使用Markdown Preview Enhanced预览,随后在预览界面 ...

  3. 抓取网页生成 PDF

    看到自己喜欢的在线文档,是不是总想保存下来慢慢学习.可是苦于没有现成的工具,这里我来介绍两个 JS 类库,只需要简单封装一下,从此想抓哪里抓哪里. 一.使用 Phantomjs 1.简单使用 1 co ...

  4. 前端页面生成pdf方案

    前端页面生成pdf方案 使用jsPDF的html方法生成 直接将html节点传入jsPDF生成pdf,效果一般 const pdf = new jsPDF('p', 'pt', 'a4'); cons ...

  5. node.js使用puppeteer来html生成pdf

    文章目录 一,环境: 二,目录结构 1, index.js 2,package.json 3,package-lock.json 4,.gitignore 三,windows10使用 可以重复生成 四 ...

  6. Puppeteer将动态html页面生成pdf(终极解决方案)

    开通掘金好几年一直没有写文章,近一年经常有朋友问我将动态的h5/vue/react/原生js 页面转成pdf,我觉得有必要写个文章,给大家提供一套经过多个项目验证的完整解决方案的思路:觉得有用可以点赞 ...

  7. HTML生成PDF、web打印动态分页、预览。内容满了,自动换页、移动端兼容 bookjs-eazy

    WEB打印,HTML转PDF工具.bookjs-eazy 仓库地址: GITEE | GITHUB 主要解决,HTML生成PDF,分页可控的问题 依赖js库:polyfill.jquery.lodas ...

  8. 实践指南-网页生成PDF

    点击上方 前端Q,关注公众号 回复加群,加入前端Q技术交流群 一.背景 开发工作中,需要实现网页生成 PDF 的功能,生成的 PDF 需上传至服务端,将 PDF 地址作为参数请求外部接口,这个转换过程 ...

  9. 如何在网页中生成PDF

    一.背景 开发工作中,需要实现网页生成 PDF 的功能,生成的 PDF 需上传至服务端,将 PDF 地址作为参数请求外部接口,这个转换过程及转换后的 PDF 不需要在前端展示给用户. 二.技术选型 该 ...

最新文章

  1. 0-1背包 一维数组为什么逆序枚举
  2. java资料——线性表(转)
  3. Linux下修复修改profile文件导致命令不用可的解决方法
  4. python3下载文件-python3 下载文件方法汇总
  5. 小心Redis漏洞让你服务器沦为肉鸡
  6. 前端三十五:图片的基本概念
  7. SSL认证:单向认证与双向认证——密码学笔记(八)
  8. C语言 指针在函数传参中的使用
  9. 京东面试题:Java中 ++i 的操作是线程安全的么?为什么?如何使其线程安全呢?
  10. linux设备驱动之按键外部中断
  11. 2021国潮新消费产业洞察报告
  12. Sequence(BZOJ-1345)
  13. java 中类型后面三个点的用法
  14. python正则表达式代码_python正则表达式的使用(实验代码)
  15. ios ffmpeg(libfdk-aac) aac encode
  16. c语言语法语义解析器,一个简单的C语言词法分析与语法分析器【原】
  17. Ruby中对应PHP的hex2bin和bin2hex方法
  18. Java 面试之算法
  19. 使用Python快速实现人脸融合
  20. Gameplay常用编写方法(持续更新)

热门文章

  1. 现在我的机子是卡巴+ewido+ZA的组合了!希望以此能远离病毒、木马等等威胁!
  2. python 读取鼠标选中文本_python 文件
  3. 为什么纽曼蓝牙耳机连接不上手机
  4. dell T330服务器安装windows server 2012 R2
  5. 图像预处理(二值化)
  6. 织梦将建好网站上传到空间
  7. ROBO Pro的机械臂编程过程
  8. 使用C++实现MySQL数据库编程
  9. 嵌入式Linux--U-Boot(八)SPI Flash命令使用
  10. git报403问题解决