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 版本]
Mar 20 Javascript
Js中获取frames中的元素示例代码
Jul 30 Javascript
jquery.cookie用法详细解析
Dec 18 Javascript
jQuery焦点图切换特效代码分享
Sep 15 Javascript
js简单正则验证汉字英文及下划线的方法
Nov 28 Javascript
Vue2.0实现组件数据的双向绑定问题
Mar 06 Javascript
改变vue请求过来的数据中的某一项值的方法(详解)
Mar 08 Javascript
vue自动化表单实例分析
May 06 Javascript
JavaScript ES6中的简写语法总结与使用技巧
Dec 30 Javascript
js最实用string(字符串)类型的使用及截取与拼接详解
Apr 26 Javascript
vue中uni-app 实现小程序登录注册功能
Oct 12 Javascript
vue点击页面空白处实现保存功能
Nov 06 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数据集构建JSON格式及新数组的方法
2012/11/07 PHP
PHP json_decode函数详细解析
2014/02/17 PHP
将PHP程序中返回的JSON格式数据用gzip压缩输出的方法
2016/03/03 PHP
ExtJS Window 最小化的一种方法
2009/11/18 Javascript
javascript获取设置div的高度和宽度兼容任何浏览器
2013/09/22 Javascript
浅析JavaScript中的typeof运算符
2013/11/30 Javascript
Javascript中使用A标签获取当前目录的绝对路径方法
2015/03/02 Javascript
jQuery插件multiScroll实现全屏鼠标滚动切换页面特效
2015/04/12 Javascript
jQuery实现为图片添加镜头放大效果的方法
2015/06/25 Javascript
WordPress中鼠标悬停显示和隐藏评论及引用按钮的实现
2016/01/12 Javascript
初识angular框架后的所思所想
2016/02/19 Javascript
AngularJS实现textarea记录只能输入规定数量的字符并显示
2016/04/26 Javascript
Angular 应用技巧总结
2016/09/14 Javascript
js实现碰撞检测特效代码分享
2016/10/16 Javascript
详解Angular的内置过滤器和自定义过滤器【推荐】
2016/12/26 Javascript
nodejs实现发出蜂鸣声音(系统报警声)的方法
2017/01/18 NodeJs
async/await地狱该如何避免详解
2018/05/10 Javascript
js遍历添加栏目类添加css 再点击其它删除css【推荐】
2018/06/12 Javascript
在layui中对table中的数据进行判断(0、1)转换为提示信息的方法
2019/09/28 Javascript
序列化模块json代码实例详解
2020/03/03 Javascript
vue+element-ui JYAdmin后台管理系统模板解析
2020/07/28 Javascript
使用Vant完成Dialog弹框案例
2020/11/11 Javascript
Python 网络编程起步(Socket发送消息)
2008/09/06 Python
python logging类库使用例子
2014/11/22 Python
python 获取文件下所有文件或目录os.walk()的实例
2018/04/23 Python
Python机器学习库scikit-learn安装与基本使用教程
2018/06/25 Python
Django使用模板后无法找到静态资源文件问题解决
2019/07/19 Python
python 环境搭建 及python-3.4.4的下载和安装过程
2019/07/20 Python
python使用matplotlib的savefig保存时图片保存不完整的问题
2021/01/08 Python
手工制作的豪华英式沙发和沙发床:Willow & Hall
2019/05/03 全球购物
工作推荐信范文
2014/05/10 职场文书
学校政风行风整改方案
2014/10/25 职场文书
大学生违纪检讨书范文
2015/05/07 职场文书
HR在给员工开具离职证明时,需要注意哪些问题?
2019/07/03 职场文书
剑指Offer之Java算法习题精讲二叉树专项训练
2022/03/21 Java/Android
Java 中的 Lambda List 转 Map 的多种方法详解
2022/07/07 Java/Android