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

相关推荐
Muyuan19985 小时前
27.RAG 系统中的上下文充分性判断:从 Chunk 数量、FAISS 距离到 LLM Relevance Gate
python·django·pdf·fastapi·faiss
开开心心就好10 小时前
近200个工具的电脑故障修复合集
安全·智能手机·pdf·电脑·consul·memcache·1024程序员节
其实秋天的枫11 小时前
2026年初中英语大纲词汇表1600词
经验分享·pdf
开开心心_Every12 小时前
轻量级PDF阅读器,仅几M大小打开秒开
linux·运维·服务器·安全·macos·pdf·phpstorm
福大大架构师每日一题13 小时前
ragflow v0.25.1 最新版发布:API 统一、PDF 解析性能大幅优化、连接器删除同步全面增强,更新要点一次看懂
pdf·ragflow
cosinmz1 天前
图片太多太乱怎么整理?分享一个我最近常用的图片转 PDF方法
经验分享·小程序·pdf
其实秋天的枫2 天前
2026年新高考英语大纲词汇表3500个电子版PDF(含正序版、乱序版和默写版)
经验分享·pdf
lijfrank2 天前
MacOS 下 VS Code + LaTeX + Skim 双向同步配置
vscode·macos·pdf·latex·mactex
程序员的记录2 天前
AI 实战 - 文档处理(pdf/work/md/txt...)
pdf
Muyuan19982 天前
22.让 RAG Agent 更像真实产品:聊天页面优化、PDF 上传、知识库重建与检索片段展示
python·django·pdf·fastapi