使用com.aspose.words将word模板转为PDF乱码解决方案(window下正常)

原地址:http://blog.csdn.net/shanelooli/article/details/7212812;http://blog.csdn.net/nantian321/article/details/51200180


使用com.aspose.words将word模板转为PDF文件时,在开发平台window下转换没有问题,中文也不会出现乱码。但是将服务部署在正式服务器(Linux)上,转换出来的PDF中文就出现了乱码。在网上找了很久,才找到原因,现将解决办法分享给大家。


一、问题原因分析

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


二、window字体复制到linux环境并安装

按照教程安装完成后重启linux服务器即可搞定乱码问题。

1. From Windows

Windows下字体库的位置为C:\Windows\fonts,这里面包含所有windows下可用的字体。

2. To Linux
linux的字体库是 /usr/share/Fonts 。

在该目录下新建一个目录,比如目录名叫 windows(根据个人的喜好,自己理解就行,当然这里是有权限要求的,你可以用sudo来执行)。

然后将 windows 字体库中你要的字体文件复制到新建的目录下(只需要复制*.ttc,和*.ttf的文件).


复制所有字体:
   sudo cp *.ttc /usr/share/fonts/windows/   
   sudo cp *.ttf /usr/share/fonts/windows/    

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

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

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

接着建立dir文件
   sudo mkfontdir   

然后运行
   sudo fc-cache   

重启 Linux 操作系统就可以使用这些字体了。


3. Skills

利用丰富的字体可以完成一些特殊的功能,以尽可能避免应用复杂度。

比如标准图形符号字体中的小图片,都可以用来代替同样功能的图标。

例如电话功能、上传功能、留言功能等,都有相应图标,用一个字母就可以简单表示。

你可能感兴趣的:(word转换成pdf)