项目有个需求,需要通过将docx模板替换文字后生成pdf,但是在linux下生成的pdf无法显示中文和下划线。经过排查,是linux不支持中文字体的问题,所以生成的pdf没有中文。找到原因就很好处理问题了。
找到需要的字体问题
window下打开 C:\Windows\Fonts ,找到我们需要的字体文件,我这里需要的是微软雅黑
安装字体库
sudo yum -y install fontconfig
在/usr/share目录就可以看到fonts和fontconfig目录
上传文件
在/usr/share/fonts里创建一个chinese文件夹。将第一步找到的字体文件放入这个文件夹
执行sudo chmod -R 755 /usr/share/fonts/chinese 修改权限
sudo yum -y install ttmkfdir
然后执行ttmkfdir命令即可:
ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir
修改配置文件并刷新缓存
vim /etc/fonts/fonts.conf
将我们的文件夹放入这个文件,然后wq保存
fc-cache
这样所有的步骤就算完成了,最后再次通过fc-list看一下字体列表:
fc-list