HTML转PDF和PNG
0
最近也是有个需求需要将PDF转为PDF和PNG,发现了一个非常不错的工具CutyCapt,官网:http://cutycapt.sourceforge.net/
转出来的东西非常不错,比网上找的一些用其他框架转的好太多了,来张效果图(来自Windows系统截图):
不过对CSS3的圆角效果还有阴影这些效果好像支持不是非常好。
Linux上面比较麻烦,参考文章:http://ziyu-1.iteye.com/blog/1749594
参考上面的文章有一些问题已经在文章里面提及到,一些细节补充一下。
首先安装QT平台,这个可能会有一些依赖包的问题,其中有一个file /usr/bin/assistant_adp from install of qt44-x11-4.4.3-10_4.el5.x86_64...
这个是因为和原来的冲突了,所以把以前的卸载了重新安装就可以了。
然后安装cutycapt,不过上面文章中的SVN地址失效了,新地址:https://svn.code.sf.net/p/cutycapt/code/CutyCapt/
然后安装xvfb
,如果没有安装这个会提示:CutyCapt: cannot connect to X server
,安装命令:yum install Xvfb
(注意第一个字母大写)。
如果提示:
./xvfb-run.sh: line 168: 24922 Segmentation fault DISPLAY=:$SERVERNUM XAUTHORITY=$AUTHFILE "$@" 2>&1
这个问题,是因为没有安装ImageMagick
。
中文字体安装:
在/usr/share/fonts/
下加一个字体的文件夹chinese
然后从Windows上面的C:\Windows\Fonts
下面拷贝需要的字体到chinese
里面
执行chmod 644 /usr/share/fonts/chinese/*.ttf
然后在chinese
下面执行下面命令:
mkfontscale
mkfontdir
fc-cache -fv
有的转出来发现图片或者PDF的效果不好,可能是没有加--server-args="-screen 0, 1280x1200x24"
这个参数。
Linux上面转PDF发现没有背景,而且Linux上面好像javascript
也是不支持的。Window上面暂时没发现问题。
还有另外一款软件叫做wkhtmltopdf
的转PDF,这个也非常不错,javascript
支持很好,背景也没问题。
转图片的命令是wkhtmltoimage
,转图片要注意最好是JPG格式的,如果是PNG会非常大。
这里我推荐使用后面的wkhtmltopdf
。
当然这里的html
样式比较复杂,如果你只是用于导出合同类型比较简单的html
,可以直接使用iText
,效果也非常不错。
这里有一篇wkhtmltopdf
的参数详解:http://blog.163.com/songchao01230@126/blog/static/1161848722014222231114/