亲测可用,已解决
提示:在centos服务器使用aspose.word转换word文件为pdf的时候只有中文乱码或则方格,但是在win服务器上使用可以正常转换。本次文章主要解决字体缺失问题
前言
提示:word转换pdf在服务器上出现中文乱码或者方格状态(主要问题是字体缺失)。
在centos服务器使用aspose.word转换word文件为pdf的时候显示中文乱码,但是在win服务器上使用可以正常转换。
一、在linux服务器上生成的pdf都是这种格式的
二、分析原因
造成这样的原因是linux缺少字体造成的
三、解决方法
安装字库,将win环境的c:\windows\fonts目录下的全部文件拷贝到生产服务器字体安装目录下,然后执行以下命令更新字体缓存就可以解决了
查看linux目前的所有字体:
`fc-list`
查看服务器上目前的所有中文字体:
fc-list :lang=zh
找到服务器上字体安装的路径 并进入:
cd /usr/share/fonts/
在该路径下面创建win文件夹,并将win环境下的Fonts(利用上传命令或者上传工具)上传到win文件夹下面:
mkdir /win
执行安装字体命令:
// 进入目录
cd /usr/share/fonts
// 修改字体文件的权限,使root用户以外的用户也可以使用(不设置权限root以外的用户使用不了)
chmod -R 755 ./win
// 建立字体缓存
mkfontscale
mkfontdir
fc-cache -fv
执行命令使字体生效:
// 使字体生效
source /etc/profile
四、总结
线上环境将word转换成pdf乱码问题,这一个问题加班好久才解决,当然这不是唯一的解决方法,但是解决问题的思路是一样的,这种低级错误记录一下,让自己长点记性!!!!