項目有個需求,需要通過將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