环境
公司采购的阿里云服务器
现象说明
服务器部署后端服务,生成文本pdf文件和pdf文件转成图片时中文文字乱码,数字及英文不会乱码。
问题原因
采购的阿里云近乎裸机,上面没有安装任何字体。当前系统多数需要采用freemark将指定的html文件渲染成pdf格式的协议文件,文本内容多为中文字体,但是阿里云等服务器初始化环境中并不包含中文字体,导致freemark渲染文件时生成文件仅显示英文及数字
解决方案
// 查看系统已安装字体
fc-list
//查看系统已安装中文字体
fc-list :lang=zh
//若上述指令提示无对应指令-安装环境
yum install -y fontconfig mkfontscale
/**
*字体安装步骤
*/
//1、将指定字体文件上传至服务器
//2、root权限将字体文件移动至/usr/share/fonts/文件夹下
//3、root权限进入到/usr/share/fonts/
//4、执行以下命令
mkfontscale
mkfontdir
fc-cache
//5、重新fc-list :lang=zh即可查看安装的中文字体
重新生成或转换即可
推荐字体
SimHei.ttf
SimSun.ttf