Centos6.5安装Google chrome headless
目的
通过url生成pdf文件
说明
1.我们的url是按照服务方的格式拼接而成,所以调用这个接口所获得的结果和css样式是我们想要的,我们需要把这个生成pdf文件,
2.应该只有google-chrome headless 或者其他浏览器才能解决这方面的问题,网上关于google-chrome headless的文章还算挺多的,但是都是针对centos7来安装的,关于其他浏览器几乎为0,也有可能埋藏的比较深吧,
3.google-chrome headless 版本为59以上才支持打印,应该是2017年推出的,所以centos6.5 和centos6.x应该都不行,6.x没有试过
4.踩过的坑,最好的安装方式应该是安装docker,然后通过docker去安装google-chrome,这样会比较方便,因为docker会根据你系统的版本帮你安装你需要的工具和支撑这个工具的环境和依赖;我本地安装google-chrome headless没有安装成功,然后我安装的最新的开发版本chromium,但是不支持print-pdf;前端同事推荐我安装nodejs,可以支持url转pdf,结果版本还是达不到,不能使用;最后我想通过docker去安装,docker支持的系统内核是3.几,但是centos6.5的内核是2.几,所以升级内核,然后还需要重启,像这种命令是不可能分配给我们的,线上也不会轻易让你升级系统和重启,万一出现错误代价很大,后来又想想docker应该也是拆箱那种适应本地版本的工具,所以索性就没再安装。
5.我很讨厌那种有说明文档,但是安装软件还需要付币,工作有几年了,第一次写,有不对的地方和更优的方案欢迎沟通。
解决方法
和服务端商量返回html,然后我通过抓取html写入到本地,然后在通过wk生成pdf文件。
这样做多的缺点就是有些css样式是带不过来,所以丢失一部分信息,不过都是柱状图那种信息
流程
1.安装wkhtmltopdf
里面有centos6.5的安装流程和windows64的安装包,还有黑体和宋体的文件,按照流程安装就行,还有测试相关命令,稍微改一下就行
2.代码部分
压缩包里附上html写入到本地的的工具类,还有通过本地的html生成pdf的工具类,注意看注释
3.连接和提取码
链接: https://pan.baidu.com/s/1VMqOFi3Wf6w-TmUCIU5Yww 提取码: uj1s
4.我安装过程中相对较好的链接
安装过程和代码