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,如果需要项目中使用,根据实际情况,自己调整。

相关推荐
开开心心就好15 小时前
发票合并打印工具,多页布局设置实时预览
linux·运维·服务器·windows·pdf·harmonyos·1024程序员节
软件工程小施同学17 小时前
区块链论文速读 CCF A--VLDB 2025 (1) 附pdf下载
pdf·区块链
Java面试题总结2 天前
基于 Java 的 PDF 文本水印实现方案(iText7 示例)
java·python·pdf
傻啦嘿哟2 天前
Python操作PDF页面详解:删除指定页的完整方案
开发语言·python·pdf
m5655bj3 天前
使用 C# 修改 PDF 页面尺寸
java·pdf·c#
geovindu3 天前
python: 简单提取PDF文档内文字
开发语言·python·pdf
m0_694845573 天前
HandBrake 是什么?视频转码工具使用与服务器部署教程
服务器·前端·pdf·开源·github·音视频
yivifu4 天前
使用PyMuPdf删除PDF文档中的水印
pdf·pymupdf·去水印
ComPDFKit4 天前
ComPDF的产品升级:从工具包到PDF服务
pdf
占疏4 天前
pdf文件解析
pdf