备注 | 修改日期 | 修改人 |
内容更新 | 2022-10-20 17:39:05[当前版本] | 系统管理员 |
创建版本 | 2022-10-20 17:34:29 | 系统管理员 |
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/shenxiaomo1688/article/details/116154657
安装背景:项目中需要将html页面转成pdf,以便可以将页面导出为pdf进行保存或者打印。
网上比较了多种,普遍认为wkhtml使用检验较好,于是决定进行安装。
1、安装依赖
yum install fontconfig libX11 libXext libXrender libjpeg libpng xorg - x11 - fonts - 75 dpi xorg - x11 - fonts - Type1 yum install openssl2、下载安装包
wget https : / / github . com / wkhtmltopdf / wkhtmltopdf / releases / download / 0.12 .5 / wkhtmltox - 0.12 .5 - 1. centos7 . x86_64 . rpm3、安装
rpm - ivh wkhtmltox - 0.12 .5 - 1. centos7 . x86_64 . rpm安装好以后,可以使用以下命令查寻安装的地址
whereis wkhtmltopdf 一般在 /usr/local/bin/wkhtmltopdf
安装完成!!!!
安装完成以后,执行命令
cd / usr / local / bin / . / wkhtmltopdf https : / / www . baidu . com / . / baidu . pdf 查看生成的pdf
有没有感觉有点怪怪的,怪就对了,细心观察会发现,导出的pdf错漏百出,有些文字凭空消失了。
为什么会出现这样的的情况呢,起初我以为是版本问题,不过很快我就推翻了这个推测,怀疑是不是我的服务器缺失某些字体所致的,为了印证这一猜测,使用如下命令,查看服务器已安装的字体
字体很多,这里我就不贴出来了,发现没有宋体,于是我新建一个专门存放中文字体的目录,linux存放字体的目录在/usr/share/fonts,于是我在该目录下新建一个zh-CN的文件夹,然后把宋体,微软雅黑等常用中文字体放到zh-CN目录下,然后进行查看,因为字体太多,我只想查寻中文字体,便使用下面命令快速查找:
如上图,红色箭头的宋体已经放到服务器上了。
这里插句题外话,可以从本地windows电脑上进行拷贝,windows字体在C:\Windows\Fonts这个目录里,宋体就是这个文件了
拷贝到Linux文件夹需将文件进行重命名,Linux上不识别ttc,需将后缀改为ttf。
再执行下面命令更新字体库,确保万无一失
fc - cache - fv再次执行上面生成pdf的命令,发现导出来的pdf终于完整了,没有文字缺少的问题了。