位置: 编程技术 - 正文
推荐整理分享Nodejs中使用phantom将html转为pdf或图片格式的方法(nodejs使用视频教程),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:nodejs -v,nodejs用法,nodejs示例,nodejs使用视频教程,nodejs typeorm,nodejs+ts,nodejs用法,nodejs用法,内容如对您有帮助,希望把文章链接给更多的朋友!
最近在项目中遇到需要把html页面转换为pdf的需求,并且转换成的pdf文件要保留原有html的样式和图片。也就是说,html页面的图片、表格、样式等都需要完整的保存下来。
最初找到三种方法来实现这个需求,这三种方法都只是粗浅的看了使用方法,从而找出适合这个需求的方案:
html-pdf 模块wkhtmltopdf 工具phantom 模块最终使用了phantom模块,也达到了预期效果。现在简单的记录三种方式的使用方法,以及三者之间主要的不同之处。
1.html-pdf
github: install -g html-pdf
使用命令行:
html-pdf /test/index.html index.pdf
这样便可以把index.html页面转换为对应的index.pdf文件。
使用代码:
在测试过程中发现,生成的pdf文件中并没有支持样式渲染和图片加载,不能支持通过url直接加载html;但是在分页的支持上很好。
结果如下:
2、wkhtmltopdf
github: 但是安装上要麻烦得多。具体安装步骤参考这里
安装完毕之后,使用命令行:
wkhtmltopdf github.pdf
即可生成对应的PDF文件。
代码使用:
除了可以通过URL生成之外,还能通过HTML文件内容生成,就像HTML-PDF一样,只要有HTML格式的字符串就可以生成相应的PDF。
结果如下:
3、phantom 模块
github: API,nodejs就相当于对phantomjs的模块化封装,使得它能够在nodejs中使用。
模块安装:
node版本6.X以上的:
npm install phantom ?save
node版本5.X的:
npm install phantom@3 ?save
node版本4.X及以下的:
npm install phantom@2 ?save
以下的例子都是基于node 4.x
代码使用:
代码中,phantom能够通过URL转换为相应的PDF,而且能够通过 page.property('viewportSize',{width:width,height:height}) 来设置生成的PDF的宽度和高度。
此例phantom中并没有分页,它是以整个浏览器截图的形式,获取全文,转化为PDF格式。
选择phantom的主要原因就是便于设置PDF的宽度,更能兼容HTML的排版。
结果如下:
Node.js+jade抓取博客所有文章生成静态html文件的实例 这篇文章,我们就把上文中采集到的所有文章列表的信息整理一下,开始采集文章并且生成静态html文件了.先看下我的采集效果,我的博客目前篇文章
在 Node.js 中使用原生 ES 模块方法解析 从版本8.5.0开始,Node.js开始支持原生ES模块,可以通过命令行选项打开该功能。新功能很大程度上得归功于BradleyFarias。1.演示这个示例的代码目录结构如
深入理解Node.js中通用基础设计模式 谈到设计模式,你可能会想到singletons,observers(观察者)或factories(工厂方法)。本文不并专门探讨他们。只是探讨Node.JS一些基础模式的实现,像依赖
标签: nodejs使用视频教程
本文链接地址:https://www.jiuchutong.com/biancheng/379516.html 转载请保留说明!友情链接: 武汉网站建设