当前位置: 首页 > news >正文

puppeteer+express服务端导出页面为pdf

以下是开发步骤:

  • 1、创建目录 puppeteer_demo 目录,打开目录 初始化项目(命令为:npm init  -y)

页面如:

初始化后,项目目录会出现 package.json 文件

  • 2、安装 puppeteer ,使用命令:npm i puppeteer -D

会出现如下页面:

这样就安装成功了(在上面安装我还遇到了问题,node版本太低了,之前是16,升级为22就可以用了)

3、安装express,使用命令:npm i express D

会出现下面页面:

查看 puppeteer与express是否安装成功,可以看项目中的package.json 文件,

如上图的话,就是都安装成功了

 4、在项目中创建index.js文件,其中内容如下

let express=require("express")
let app=express()
let puppeteer=require("puppeteer")
app.use('/pdfurl',()=>{
 (async()=>{
    // 启动浏览器
    const brower=await puppeteer.launch()
    // 新建页面
    const page=await brower.newPage()
    // 打开网页(其中的链接地址替换为你需要的网页地址)
    await page.goto("https://www.shicimingju.com/chaxun/zuozhe/13046_6.html")
    // 打开pdf
    await page.pdf({path:`./demo.pdf`,printBackground: true,
    preferCSSPageSize: true,
    media: 'screen', // 强制使用屏幕样式
})
    // 关闭浏览器
    await brower.close()
 })()
})
app.listen(5678,()=>{
    console.log('5678,puppeteer 导出pdf !')
})

5、在项目中 运行 node .\index.js

编辑器会出现下发内容提示:       

 

浏览器中访问地址为:http://127.0.0.1:5678/pdfurl ,加载会有一点慢,需要等一会,再打开项目目录,就会发现多出一个demo.pdf 文件,如:

pdf 打开,就是你想要的内容啦!!!!!

如上步骤操作就可以生成,以上只是demo,如果需要项目中使用,根据实际情况,自己调整。

 

http://www.dtcms.com/a/98907.html

相关文章:

  • JavaScript中的Math对象和随机数
  • [ 春秋云境 ] Initial 仿真场景
  • Linux系统中应用端控制串口的基本方法
  • GEO(生成引擎优化)实施策略全解析:从用户意图到效果追踪
  • CANoe入门——CANoe的诊断模块,调用CAPL进行uds诊断
  • 鸿蒙项目源码-外卖点餐-原创!原创!原创!
  • 【算法】二分查找总结篇
  • Java网页消息推送解决方案
  • 累积分布策略思路
  • ModuleNotFoundError: No module named ‘ml_logger.logbook‘
  • 组件组合和Context API在React中的应用
  • Go 语言规范学习(4)
  • 从系统架构、API对接核心技术、业务场景设计及实战案例四个维度,深度解析1688代采系统
  • 征程 6E mipi tx 系列之方案介绍
  • 知能行每日刷题
  • 【2.项目管理】2.7 进度控制习题-2
  • 蓝桥杯省模拟赛 字符串拼接
  • 基于Web的交互式智能成绩管理系统设计
  • 【书籍】DeepSeek谈《软件开发的201个原则》
  • 从Manus到OpenManus:AI智能体技术如何重塑未来生活场景?
  • vector的模拟实现01
  • C++运算符重载、类的转换构造函数和类型转换函数的基础练习
  • 【SPP】蓝牙串口协议应用层深度解析:从连接建立到实战开发
  • 解决Dubbo3调用Springcloud接口报No provider available from registry RegistryDirectory
  • 【java基础】Java 泛型
  • IPv6 Over IPv4 自动 6to4 隧道
  • Altium Designer——同时更改多个元素的属性(名称、网络标签、字符串标识)
  • OpenBMC:BmcWeb 生效路由5 优化trie
  • Unity高渲染管线
  • 经济均衡问题建模与求解:单一市场供需平衡分析