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 相关文章推荐
滚动条变色 隐藏滚动条与双击网页自动滚屏显示代码
Dec 28 Javascript
Android中资源文件(非代码部分)的使用概览
Dec 18 Javascript
jtable列中自定义button示例代码
Nov 21 Javascript
jquery ui bootstrap 实现自定义风格
Nov 14 Javascript
js实现iframe跨页面调用函数的方法
Dec 13 Javascript
JavaScript函数参数使用带参数名的方式赋值传入的方法
Mar 19 Javascript
require.js配合插件text.js实现最简单的单页应用程序
Jul 12 Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
Feb 28 Javascript
Angularjs使用指令做表单校验的方法
Mar 31 Javascript
从零开始封装自己的自定义Vue组件
Oct 09 Javascript
ant design中upload组件上传大文件,显示进度条进度的实例
Oct 29 Javascript
vue选项卡切换的实现案例
Apr 11 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面向对象程序设计高级特性详解(接口,继承,抽象类,析构,克隆等)
2016/12/02 PHP
Laravel5.3+框架定义API路径取消CSRF保护方法详解
2020/04/06 PHP
js onpropertychange输入框 事件获取属性
2009/03/26 Javascript
jQuery toggle()设置CSS样式
2009/11/05 Javascript
从零开始学习jQuery (三) 管理jQuery包装集
2011/02/23 Javascript
jquery 文本上下无缝滚动,鼠标放上去就停止 小例子
2013/06/05 Javascript
Mac/Windows下如何安装Node.js
2013/11/22 Javascript
jquery内置验证(validate)使用方法示例(表单验证)
2013/12/04 Javascript
js使用栈来实现10进制转8进制与取除数及余数
2014/06/11 Javascript
JavaScript控制listbox列表框的项目上下移动的方法
2015/03/18 Javascript
详解js图片轮播效果实现原理
2015/12/17 Javascript
AngularJS使用ngOption实现下拉列表的实例代码
2016/01/23 Javascript
通过jquery-ui中的sortable来实现拖拽排序的简单实例
2016/05/24 Javascript
利用JS提交表单的几种方法和验证(必看篇)
2016/09/17 Javascript
微信小程序 扎金花简单实例
2017/02/21 Javascript
微信小程序 监听手势滑动切换页面实例详解
2017/06/15 Javascript
js中bool值的转换及“&&”、“||”、 “!!”详解
2017/12/21 Javascript
详解vue-loader在项目中是如何配置的
2018/06/04 Javascript
python rsa 加密解密
2017/03/20 Python
Python使用Pickle库实现读写序列操作示例
2018/06/15 Python
python实现linux下抓包并存库功能
2018/07/18 Python
Django对接支付宝实现支付宝充值金币功能示例
2019/12/17 Python
pandas factorize实现将字符串特征转化为数字特征
2019/12/19 Python
六种酷炫Python运行进度条效果的实现代码
2020/07/17 Python
HTML5添加鼠标悬浮音响效果不使用FLASH
2014/04/23 HTML / CSS
便携式太阳能系统的创新者:GOAL ZERO
2018/02/04 全球购物
英国天然有机美容护肤品:Neal’s Yard Remedies
2018/05/05 全球购物
美国最大的存储市场:SpareFoot
2018/07/23 全球购物
俄罗斯珠宝市场的领导者之一:Бронницкий ювелир
2019/10/02 全球购物
某公司.Net方向面试题
2014/04/24 面试题
计算机求职自荐信范文
2014/04/19 职场文书
2014年法制宣传日活动方案
2014/11/02 职场文书
导游词300字
2015/02/13 职场文书
2015国庆节放假通知范文
2015/07/30 职场文书
利用Python第三方库实现预测NBA比赛结果
2021/06/21 Python
JS实现简单九宫格抽奖
2022/06/28 Javascript