AI智能
改变未来

使用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
利用丰富的字体可以完成一些特殊的功能,以尽可能避免应用复杂度。比如标准图形符号字体中的小图片,都可以用来代替同样功能的图标。

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

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » 使用com.aspose.words将word模板转为PDF乱码解决方案(window下正常)