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 检测、添加、移除样式(className)函数代码
Sep 08 Javascript
JavaScript几种形式的树结构菜单
May 10 Javascript
麻雀虽小五脏俱全 Dojo自定义控件应用
Sep 04 Javascript
jQuery参数列表集合
Apr 06 Javascript
JS小功能(offsetLeft实现图片滚动效果)实例代码
Nov 28 Javascript
JS实现鼠标滑过显示边框的菜单效果
Sep 21 Javascript
JavaScript如何获取到导航条中HTTP信息
Oct 10 Javascript
JavaScript设计模式之享元模式实例详解
Jan 17 Javascript
移动端(微信等使用vConsole调试console的方法
Mar 05 Javascript
element-ui树形控件后台返回的数据+生成组织树的工具类
Mar 05 Javascript
javascript 模块依赖管理的本质深入详解
Apr 30 Javascript
详解实现vue的数据响应式原理
Jan 20 Vue.js
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生成EXCEL的东东
2006/10/09 PHP
用PHP实现的生成静态HTML速度快类库
2007/03/31 PHP
php eval函数用法总结
2012/10/31 PHP
php文件夹的创建与删除方法
2015/01/24 PHP
PHP实现常用排序算法的方法
2020/02/05 PHP
php的对象传值与引用传值代码实例讲解
2021/02/26 PHP
正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度
2008/09/27 Javascript
原生Js实现按的数据源均分时间点幻灯片效果(已封装)
2010/12/28 Javascript
javascript object array方法使用详解
2012/12/03 Javascript
分享2个jQuery插件--jquery.fileupload与artdialog
2014/12/26 Javascript
基于JS判断iframe是否加载成功的方法(多种浏览器)
2016/05/13 Javascript
JavaScript实现复制或剪切内容到剪贴板功能的方法
2016/05/23 Javascript
JavaScript中校验银行卡号的实现代码
2016/12/19 Javascript
JavaScript实现数组降维详解
2017/01/05 Javascript
JS关于刷新页面的相关总结
2018/05/09 Javascript
最适应的vue.js的form提交涉及多种插件【推荐】
2018/08/27 Javascript
vue中当图片地址无效的时候,显示默认图片的方法
2018/09/18 Javascript
webpack4+express+mongodb+vue实现增删改查的示例
2018/11/08 Javascript
JavaScript 截取字符串代码实例
2019/09/05 Javascript
Vue+elementui 实现复杂表头和动态增加列的二维表格功能
2019/09/23 Javascript
Vue替代marquee标签超出宽度文字横向滚动效果
2019/12/09 Javascript
vue图片上传组件使用详解
2019/12/23 Javascript
JS实现扫码枪扫描二维码功能
2020/01/03 Javascript
[55:26]DOTA2-DPC中国联赛 正赛 Aster vs LBZS BO3 第一场 2月23日
2021/03/11 DOTA
Python快速排序算法实例分析
2017/11/29 Python
使用Django简单编写一个XSS平台的方法步骤
2019/03/25 Python
python正则表达式实例代码
2020/03/03 Python
python爬取天气数据的实例详解
2020/11/20 Python
Python爬虫自动化获取华图和粉笔网站的错题(推荐)
2021/01/08 Python
数百万免费的图形资源:Freepik
2020/09/21 全球购物
三万活动总结
2014/04/28 职场文书
做一个有道德的人演讲稿
2014/05/14 职场文书
高三霸气励志标语
2014/06/24 职场文书
社区平安建设汇报材料
2014/08/14 职场文书
用python批量解压带密码的压缩包
2021/05/31 Python
vue如何清除浏览器历史栈
2022/05/25 Vue.js