phantomjs导出html到pdf的方法总结


Posted in Javascript onOctober 19, 2017

最近要为我们的文章服务做一个转pdf的功能。经过比较,我觉得phantomjs是转化比较好的。现在讲讲如何使用。

环境

centos x86_64

下载

可以到官网下载: 官网

或者wget也可以:

wget -P /tmp/ https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2

安装

// 解压
tar xjf /tmp/phantomjs-2.1.1-linux-x86_64.tar.bz2 -C /usr/local/
// 重命名
mv /usr/local/phantomjs-2.1.1-linux-x86_64 /usr/local/phantomjs
// 建立软连接
ln -s /usr/local/phantomjs/bin/phantomjs /usr/local/bin/
现在可以在终端执行phantomjs --version查看是否安装成功

配置

现在还不够,光phantomjs用来转化,会存在一些问题:

  • 中文乱码
  • 字体粗细不一致

解决方式:

1:中文乱码

yum -y install bitmap-fonts bitmap-fonts-cjk
2:字体粗细不一致

这是centos不存在字体的原因,可以导入字体。

  • 安装字体管理工具: yum install -y fontconfig mkfontscale
  • 访问 c:\windows\fonts,把需要的字体copy出来。然后上传到服务器上的 /usr/share/fonts下
  • 执行 mkfontscale, mkfontdir, fc-cache -fv三个命令,然后重启服务器(Reboot)即可。

代码使用

现在开始,就可以写代码了:

import phantom from 'phantom';
const pageToPdf = (url) => {
 phantom.create().then((ph) {
 ph.createPage().then((page) => {
  page.open(url).then((status) => {
  // 配置存储的pdf地址
  page.render('存储的地址.pdf').then((status) => {
   console.log('Page rendered');
   ph.exit();
  });
  });
 });
 });
};
pageToPdf('https://www.tongbanjie.com');

结果

ok,现在可以部署代码试一下了。

phantomjs导出html到pdf的方法总结

总结

以上所述是小编给大家介绍的phantomjs导出html到pdf的方法总结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Javascript常考语句107条收集
Mar 09 Javascript
JS函数重载的解决方案
May 13 Javascript
在HTML中插入JavaScript代码的示例
Jun 03 Javascript
jQuery中inArray方法注意事项分析
Jan 25 Javascript
动态加载js、css的简单实现代码
May 26 Javascript
jQuery弹出div层过2秒自动消失
Nov 29 Javascript
ES6新特性之变量和字符串用法示例
Apr 01 Javascript
BootStrap导航栏问题记录
Jul 31 Javascript
webpack 单独打包指定JS文件的方法
Feb 22 Javascript
vue中uni-app 实现小程序登录注册功能
Oct 12 Javascript
JS工厂模式开发实践案例分析
Oct 17 Javascript
关于IDEA中的.VUE文件报错 Export declarations are not supported by current JavaScript version
Oct 17 Javascript
vue2.0设置proxyTable使用axios进行跨域请求的方法
Oct 19 #Javascript
vue resource post请求时遇到的坑
Oct 19 #Javascript
vue Element-ui input 远程搜索与修改建议显示模版的示例代码
Oct 19 #Javascript
JavaScript适配器模式详解
Oct 19 #Javascript
JavaScript门面模式详解
Oct 19 #Javascript
vue+Java后端进行调试时解决跨域问题的方式
Oct 19 #Javascript
AngularJS的$location使用方法详解
Oct 19 #Javascript
You might like
十天学会php之第六天
2006/10/09 PHP
php 缩略图实现函数代码
2011/06/23 PHP
Thinkphp模板中截取字符串函数简介
2014/06/17 PHP
Jquery Ajax.ashx 高效分页实现代码
2009/10/20 Javascript
jquery 新手学习常见问题解决方法
2010/04/18 Javascript
多种方法判断Javascript对象是否存在
2013/09/22 Javascript
简单谈谈javascript Date类型
2015/09/06 Javascript
纯javascript版日历控件
2016/11/24 Javascript
JavaScript和jQuery制作光棒效果
2017/02/24 Javascript
基于 Bootstrap Datetimepicker 联动
2017/08/03 Javascript
bootstrap可编辑下拉框jquery.editable-select
2017/10/12 jQuery
layui按条件隐藏表格列的实例
2019/09/19 Javascript
使用 UniApp 实现小程序的微信登录功能
2020/06/09 Javascript
swiper实现导航滚动效果
2020/12/13 Javascript
js简单粗暴的发布订阅示例代码
2021/01/23 Javascript
Python使用pymysql小技巧
2017/06/04 Python
Pytorch实现LSTM和GRU示例
2020/01/14 Python
pyspark给dataframe增加新的一列的实现示例
2020/04/24 Python
IDLE下Python文件编辑和运行操作
2020/04/25 Python
超级实用的8个Python列表技巧
2020/08/24 Python
python使用隐式循环快速求和的实现示例
2020/09/11 Python
如何开发一款堪比APP的微信小程序(腾讯内部团队分享)
2016/12/22 HTML / CSS
蔻驰美国官网:COACH美国
2016/08/18 全球购物
拥有超过850家商店的美国在线派对商店:Party City
2018/10/21 全球购物
缓解脚、腿和背部疼痛:Z-CoiL鞋
2019/03/12 全球购物
澳大利亚波希米亚风时尚品牌:Tree of Life
2019/09/15 全球购物
意大利买卖二手奢侈品网站:LAMPOO
2020/06/03 全球购物
大学生求职简历的自我评价范文
2013/10/12 职场文书
爱国卫生月活动总结范文
2014/04/25 职场文书
文艺晚会策划方案
2014/06/11 职场文书
入党现实表现材料
2014/12/23 职场文书
水电施工员岗位职责
2015/04/11 职场文书
2015年机关党建工作总结
2015/05/22 职场文书
2019年“我为祖国点赞”演讲稿(3篇)
2019/09/26 职场文书
导游词之新疆-喀纳斯
2019/10/10 职场文书
react 项目中引入图片的几种方式
2021/06/02 Javascript