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
puppeteer生成PDF相关推荐
- puppeteer 生成pdf,绝对解决你的需求
本人实话实话,这片文章讲的都是汗水换来的,一天多的时间,啃文档,扒 github 的 issue 以及 stackoverflow 各种检索,所幸最终成果喜人,生成的 pdf 有封面,有页眉及页脚,c ...
- vscode MPE puppeteer导出pdf的数学公式显示问题
Vs Code MPE Puppeteer 导出pdf问题 这几天在用vs code写markdown的时候,写完后按照习惯,使用Markdown Preview Enhanced预览,随后在预览界面 ...
- 抓取网页生成 PDF
看到自己喜欢的在线文档,是不是总想保存下来慢慢学习.可是苦于没有现成的工具,这里我来介绍两个 JS 类库,只需要简单封装一下,从此想抓哪里抓哪里. 一.使用 Phantomjs 1.简单使用 1 co ...
- 前端页面生成pdf方案
前端页面生成pdf方案 使用jsPDF的html方法生成 直接将html节点传入jsPDF生成pdf,效果一般 const pdf = new jsPDF('p', 'pt', 'a4'); cons ...
- node.js使用puppeteer来html生成pdf
文章目录 一,环境: 二,目录结构 1, index.js 2,package.json 3,package-lock.json 4,.gitignore 三,windows10使用 可以重复生成 四 ...
- Puppeteer将动态html页面生成pdf(终极解决方案)
开通掘金好几年一直没有写文章,近一年经常有朋友问我将动态的h5/vue/react/原生js 页面转成pdf,我觉得有必要写个文章,给大家提供一套经过多个项目验证的完整解决方案的思路:觉得有用可以点赞 ...
- HTML生成PDF、web打印动态分页、预览。内容满了,自动换页、移动端兼容 bookjs-eazy
WEB打印,HTML转PDF工具.bookjs-eazy 仓库地址: GITEE | GITHUB 主要解决,HTML生成PDF,分页可控的问题 依赖js库:polyfill.jquery.lodas ...
- 实践指南-网页生成PDF
点击上方 前端Q,关注公众号 回复加群,加入前端Q技术交流群 一.背景 开发工作中,需要实现网页生成 PDF 的功能,生成的 PDF 需上传至服务端,将 PDF 地址作为参数请求外部接口,这个转换过程 ...
- 如何在网页中生成PDF
一.背景 开发工作中,需要实现网页生成 PDF 的功能,生成的 PDF 需上传至服务端,将 PDF 地址作为参数请求外部接口,这个转换过程及转换后的 PDF 不需要在前端展示给用户. 二.技术选型 该 ...
最新文章
- 0-1背包 一维数组为什么逆序枚举
- java资料——线性表(转)
- Linux下修复修改profile文件导致命令不用可的解决方法
- python3下载文件-python3 下载文件方法汇总
- 小心Redis漏洞让你服务器沦为肉鸡
- 前端三十五:图片的基本概念
- SSL认证:单向认证与双向认证——密码学笔记(八)
- C语言 指针在函数传参中的使用
- 京东面试题:Java中 ++i 的操作是线程安全的么?为什么?如何使其线程安全呢?
- linux设备驱动之按键外部中断
- 2021国潮新消费产业洞察报告
- Sequence(BZOJ-1345)
- java 中类型后面三个点的用法
- python正则表达式代码_python正则表达式的使用(实验代码)
- ios ffmpeg(libfdk-aac) aac encode
- c语言语法语义解析器,一个简单的C语言词法分析与语法分析器【原】
- Ruby中对应PHP的hex2bin和bin2hex方法
- Java 面试之算法
- 使用Python快速实现人脸融合
- Gameplay常用编写方法(持续更新)