背景
最近工作用itext生成pdf在windows环境下没有出现中文乱码而在linux下出现中文乱码,打开pdf查看pdf编码,以及显示的编码,发现编码并没有对应。原因是使用的宋体和微软雅黑在linux环境下并没有安装。
解决方法
- 安装系统依赖
yum groupinstall chinese-support
yum install mkfontscale
yum install mkfont
yum -y install ttmkfdir
yum -y install fontconfig
- 到Windows环境下将所需字体拷贝到Linux下simsun.ttc(宋体),msyf.ttf(微软雅黑)
- 到Linux环境下创建目录/usr/share/fonts/chinese/TrueType,将字体放入新建的目录中
mkdir -pv /usr/share/fonts/chinese/TrueType
cp msyhbd.ttc msyhl.ttc msyh.ttc /usr/share/fonts/chinese/TrueType
cd /usr/share/fonts/chinese/TrueType
#将字体访问目录中,并修改权限
chmod 755 *
- 建立字体缓存
mkfontscale
#如果提示 mkfontscale: command not found,需自行安装 # yum install mkfontscale
mkfontdir
fc-cache -fv
#如果提示 fc-cache: command not found,则需要安装 yum install fontconfig
- 重启生效