天天看点

使用Aspose将Word转成Pdf后中文乱码问题

场景:

使用Aspose.Word将word文档转换成pdf。

本地Windows开发环境,pdf文件正常。

但是将程序部署到CentOS的服务器上,pdf的中文就都是乱码了。

解决思路:

  1. 运行jetty服务时,指定

    java -Dfile.encoding=UTF-8

    GBK

    参数都无效。
  2. 添加日志输出,发现读取出来的Word纯文本内容,中文也还是正常的,那么就只剩最后转pdf的原因了。

    想到pdf是一种为打印设计的文档格式,可能跟字体相关。而且转出来的pdf中文都是空心方框,不是单纯的乱码,很有可能是缺少字体渲染不出来造成的。

  3. 服务器上用

    fc-list

    命令查看字体,果然没有中文字体
  4. 接下来将本机Windows的字体上传到CentOS服务器上。

    具体操作:

    将Windows上字体文件

    C:\Windows\Fonts

    目录,复制到CentOS的

    /usr/share/fonts

    目录

    运行

    sudo fc-cache -f -v

    命令刷新字体缓存

原文链接:https://www.jianshu.com/p/d7d779f7cf88