问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

使用puppeteer实现将htmll转成pdf

发布网友 发布时间:21小时前

我来回答

1个回答

热心网友 时间:20小时前

Puppeteer是一个专为Node.js设计的库,它通过DevTools协议提供了一种高级的方式来控制Chrome或Chromium浏览器。这个工具可以模拟浏览器界面,就像使用phantomjs那样,但功能更为强大。

最初,尝试使用html2pdf和jsPdf将网页转换成PDF,但这种方法存在局限,生成的PDF不支持编辑,且可能会出现文字被分割的问题,不适合需要高度互动性的PDF格式。

由于前端技术限制,解决方案转向后端。选择PhantomJS尝试,但其对ES6语法的支持不足,导致在生成PDF时出现错误。最终,Puppeteer成为了最佳选择,结合koa2和koa2-router实现了HTML到PDF的转换。

在main.js和2pdf.js中编写了核心代码,同时考虑到跨域问题,引入了koa2-cors进行处理。启动服务后,通过axios发送接口请求,本地测试无误后部署到服务器。然而,部署后首页功能正常,但在运行2pdf时遇到错误。

具体报错是关于libatk-bridge-2.0.so.0等共享库缺失,解决方法是通过yum安装相应的软件包,如atk、at-spi2-atk、libxkbcommon-x11-devel、libXcomposite和gtk3等。一篇博客文章详细记录了这些错误和相应的解决方案,对于CentOS 7环境下Puppeteer的常见问题提供了实用的指引。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 【译】将HTML转为PDF的几种实现方案 变形金刚08动画怎么样 变形金刚08动画的问题 变形金刚08动画日语版剧情介绍 高分!换显卡nvidia控制面板被我卸了,重新安装显卡驱动后没了nvidia控... 我的nvidia控制面板被卸载了 怎么找回啊 卸载后 这个画面看着很奇怪_百 ... 李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 逆水寒手游 逆水寒怎么去别人的庄园? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游庄园怎么邀请好友同住 深度解析:第一财经回放,探索财经新风向 年终会活动策划方案 高中历史诀窍 历史要怎么读,有啥诀窍 中国期货交易所的交易品种有哪些? 玉米仁子饭产自哪里