使用com.aspose.words将word模板转为PDF文件时乱码解决方法

使用com.aspose.words将word模板转为PDF文件时,在开发平台window下转换没有问题,中文也不会出现乱码。但是将服务部署在正式服务器(Linux)上,转换出来的PDF中文就出现了乱码。

问题原因分析
在window下没有问题但是在linux下有问题,就说明不是代码或者输入输出流编码的问题,根本原因是两个平台环境的问题。出现乱码说明linux环境中没有相应的字体以供使用,所以就会导致乱码的出现。将转换无问题的windos主机中的字体拷贝到linux平台下进行安装,重启服务器后转换就不会出现乱码了。

window字体复制到linux环境并安装
Windows下字体库的位置为C:\Windows\fonts,这里面包含所有windows下可用的字体

linux的字体库是 /usr/share/Fonts
在该目录下新建一个目录,比如目录名叫 windows,然后将 windows 字体库中你要的字体文件复制到新建的目录下(只需要复制*.ttc,和*.ttf的文件)

cp *.ttc /usr/share/fonts/windows/
cp *.ttf /usr/share/fonts/windows/

更改这些字体库的权限
chmod 755 /usr/share/fonts/windows/*

然后进入Linux字体库:
cd /usr/share/fonts/windows/

接着根据当前目录下的字体建立scale文件
mkfontscale

接着建立dir文件
mkfontdir

然后运行
fc-cache

你可能感兴趣的:(Linux)