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 相关文章推荐
js树形控件脚本代码
Jul 24 Javascript
让任务管理器中的CPU跳舞的js代码
Nov 01 Javascript
让FireFox支持innerText的实现代码
Dec 01 Javascript
JavaScript的类型转换(字符转数字 数字转字符)
Aug 30 Javascript
基于jquery的button默认enter事件(回车事件)。
May 18 Javascript
javascript中SetInterval与setTimeout的定时器用法
Aug 24 Javascript
Bootstrap每天必学之媒体对象
Nov 30 Javascript
微信小程序 教程之引用
Oct 18 Javascript
Django+Vue.js搭建前后端分离项目的示例
Aug 07 Javascript
VUE2实现事件驱动弹窗示例
Oct 21 Javascript
vue基于两个计算属性实现选中和全选功能示例
Feb 08 Javascript
javascrpt密码强度校验函数详解
Mar 18 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版(4)
2006/10/09 PHP
Uncaught exception com_exception with message Failed to create COM object
2012/01/11 PHP
php版阿里云OSS图片上传类详解
2016/12/01 PHP
PHP中include()与require()的区别说明
2017/02/14 PHP
php正确输出json数据的实例讲解
2018/08/21 PHP
用nodejs实现PHP的print_r函数代码
2014/03/14 NodeJs
jQuery中queue()方法用法实例
2014/12/29 Javascript
AngularJS + Node.js + MongoDB开发的基于高德地图位置的通讯录
2015/01/02 Javascript
手机端页面rem宽度自适应脚本
2015/05/20 Javascript
JS实现三级折叠菜单特效,其它级可自动收缩
2015/08/06 Javascript
Sea.JS知识总结
2016/05/05 Javascript
JS实现数字格式千分位相互转换方法
2016/08/01 Javascript
Vue实现选择城市功能
2017/05/27 Javascript
bootstrap paginator分页前后台用法示例
2017/06/17 Javascript
详解vue.js数据传递以及数据分发slot
2018/01/20 Javascript
koa2 用户注册、登录校验与加盐加密的实现方法
2019/07/22 Javascript
Vue3 中的数据侦测的实现
2019/10/09 Javascript
vue keep-alive的简单总结
2021/01/25 Vue.js
[04:40]DOTA2-DPC中国联赛1月26日Recap集锦
2021/03/11 DOTA
Python的GUI框架PySide的安装配置教程
2016/02/16 Python
python3利用Dlib19.7实现人脸68个特征点标定
2018/02/26 Python
Python实现统计英文文章词频的方法分析
2019/01/28 Python
python argparse模块通过后台传递参数实例
2020/04/20 Python
python 逆向爬虫正确调用 JAR 加密逻辑
2021/01/12 Python
Pytorch之扩充tensor的操作
2021/03/04 Python
HTML5 canvas 瀑布流文字效果的示例代码
2018/01/31 HTML / CSS
美国最便宜的旅游网站:CheapTickets
2017/07/09 全球购物
Lookfantastic台湾:英国彩妆美发保养购物网
2018/03/26 全球购物
女装和独特珠宝:Sundance Catalog
2018/09/19 全球购物
MATCHESFASHION.COM美国官网:英国奢侈品零售商
2018/10/29 全球购物
Michael Kors加拿大官网:购买设计师手袋、手表、鞋子、服装等
2019/03/16 全球购物
前处理组长岗位职责
2014/03/01 职场文书
三八节标语
2014/06/27 职场文书
婚内房产协议书范本
2014/10/02 职场文书
2014年售票员工作总结
2014/11/19 职场文书
Java设计模式之代理模式
2022/04/22 Java/Android