PHP html 转换成PDF wkhtmltopdf HTML 转换成 PDF (JAVA C#都适用)

原创 2017年08月28日 16:46:39

因为涉及到账单,并且要生成PDF并发送邮件,所以试用了好多转换PDF的都不成功,基本上都是格式错乱,唯一就是 wkhtmltopdf 满足 我的需求

https://wkhtmltopdf.org/downloads.html
这里下载是 linux 64

安装环境

CENTOS 7.3

下载及安装

wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz

风.foxiswho
解压缩

tar -Jxv -f **.tar.xz
或者
xz -d **.tar.xz
tar -xv -f **.tar

移动文件目录到相关位置,例如 移动文件夹到/www/lanmps/目录下

mv wkhtmltox /www/lanmps/wkhtmltox

建立软连接,

ln -s /www/lanmps/wkhtmltox/wkhtmltoimage /usr/local/bin/wkhtmltoimage          #转换成图片
ln -s /www/lanmps/wkhtmltox/bin/wkhtmltopdf /usr/local/bin/wkhtmltopdf          #转换成 PDF

PHP 中使用 shell_exec 执行

shell_exec("wkhtmltopdf http://www.lanmps.com lanmps.com.pdf")

shell 中执行

wkhtmltopdf http://www.lanmps.com lanmps.com.pdf

中文字体

服务器上必须安装字体
http://blog.csdn.net/wlwlwlwl015/article/details/51482065
新建字体目录

/usr/share/fonts/chinese
chmod -R 755 /usr/share/fonts/chinese

上传字体宋体,你自己电脑中的字体,或者网上下载的也可以,字体如下

simsun.ttc                      # 宋体 http://down7.pc6.com/qd3/simsun.zip 记得解压缩
simsun.ttf 

接下来需要安装ttmkfdir来搜索目录中所有的字体信息,并汇总生成fonts.scale文件,输入命令:

yum -y install ttmkfdir

然后执行ttmkfdir命令即可:

ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir

最后一步就是修改字体配置文件了,首先通过编辑器打开配置文件:

vim /etc/fonts/fonts.conf

可以看到一个Font list,即字体列表,在这里需要把我们添加的中文字体位置加进去:加入到类似的位置

<dir>/usr/share/fonts/chinese</dir>

然后输入:wq保存退出,最后别忘了刷新内存中的字体缓存,这样就不用reboot重启了:
字体缓存

fc-cache

查看字体

fc-list |grep SimSun

可以看到已经成功安装上了中文字体,

中文编码解决

http://aiilive.blog.51cto.com/1925756/1340243/

Q

error while loading shared libraries: libXrender.so.1: cannot open shared object file: No such file or directory

./bin/wkhtmltopdf: error while loading shared libraries: libXrender.so.1: cannot open shared object file: No such file or directory

解决方法:

yum install -y libXrender

http://blog.csdn.net/wlwlwlwl015/article/details/51482065
首发 http://www.foxwho.com/article/144
同步 foxwho(神秘狐)的领地 http://www.foxwho.com

版权声明:原创文章欢迎转载,不过要记得加出处哦

php用wkhtmltopdf把html生成pdf

需要用php把html生成pdf,找了了个php扩展,HTML2PDF,只能生成一些简单的HTML代码,复杂的HTML+css无法生成。网上找到了强大的wkhtmltopdf。 直接下周bin包,不...
  • wuexp
  • wuexp
  • 2017年03月14日 12:32
  • 2077

最好用Html转pdf的工具——wkhtmltopdf

最好用,最强大的html转pdf,不需要编写过多的php算法,就可以高清,简单,快捷,方便的将你所需要的页面转成pdf...
  • qq_14873105
  • qq_14873105
  • 2016年05月13日 11:41
  • 32633

使用Java 将html转换PDF

package cn.spring.test.htmltopdf; import java.io.File; import java.io.FileOutputStream; import jav...
  • hackxiaoF
  • hackxiaoF
  • 2015年11月10日 14:23
  • 1593

HTML转PDF工具(wkhtmltopdf)介绍,支持widows和linux

最近项目中客户提了一个奇葩的需求;批量把html转为pdf文件用于存档。听到这个需求不知所错,最开始研究iText使用java开发,各种中文乱码,中文不显示问题。后来在网上搜索到wkhtmltopdf...
  • zhangkezhi_471885889
  • zhangkezhi_471885889
  • 2016年08月11日 18:19
  • 8666

PHP 转换PDF、TXT、HTML以及图像等格式的方法

这几天一直在使用PHP开发一个不同文件类型转换的项目,清源这里将各种文件格式转换的方法分享给大家,有需要的朋友可以参考一下,谢谢! 1、将PDF转换成JPG - PDF2JPG 这...
  • u012275531
  • u012275531
  • 2013年12月30日 12:08
  • 1951

HTML转换成PDF工具:wkhtmltopdf

有时候我们需要把HTML页面内存转换成PDF,当然可以截图做成Excel然后转换成PDF。下面介绍一下HTML转换成PDF的工具wkhtmltopdf(http://code.google.com/p...
  • hantiannan
  • hantiannan
  • 2009年09月26日 14:32
  • 28208

java使用pdfbox把PDF转成html

使用到的jar包:    pdfbox-2.0.4.jar    pdfbox-2.0.4-sources.jar    fontbox-2.0.4.jar    pdfbox-tools-2.0.4...
  • Warren_one
  • Warren_one
  • 2017年11月24日 16:16
  • 998

JAVA常用API或编程工具001---ITEXT把html转换成pdf的jar包,使用Java将HTML转换为PDF

iText “XML Worker”允许开发人员以一种程序员友好的方式将XML文件转换成PDF文件。iText还可以将包含CSS样式的HTML转换为PDF格式的文档。   目标: ...
  • lidew521
  • lidew521
  • 2017年03月31日 18:28
  • 1191

实现pdf完美转换成html的方法

日常办公中除了一些常用到的的DOC、XLS、PPT等文件外,我们还会接触到其它特殊的格式文件,例如PDF文件,PDF全称Portable Document Format,中国学术期刊全文数据库中文件的...
  • xiaoluobo123456
  • xiaoluobo123456
  • 2015年08月06日 14:20
  • 267

pdf转换成html网页的操作方法

PDF是日常常见的文档格式之一,而将PDF转换成HTML网页格式,会给我们的浏览带来很大的便利。很多时候用户找到了非常详实可用的PDF资料,如果打算将之制作成为网页格式,重新开发往往需要耗费大量的时间...
  • mikinh
  • mikinh
  • 2015年08月25日 15:40
  • 673
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PHP html 转换成PDF wkhtmltopdf HTML 转换成 PDF (JAVA C#都适用)
举报原因:
原因补充:

(最多只允许输入30个字)