【aspose-words 解决Linux word转pdf 乱码和出现小方块问题】

453 阅读1分钟
Windows正常转换,在linux中转换就出现小方块

image.png

原因分析: 在window下没有问题但是在linux下有问题,就说明不是代码或者输入输出流编码的问题,根本原因是两个平台环境的问题。出现乱码说明linux环境中没有相应的字体以供使用,所以就会导致乱码的出现。

  1. windows系统

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

  1. liunx系统
 linux的字体库是 /usr/share/fonts 。
  1. 将windows下面的字体文件拷贝到linux下面的文件夹可以新建文件夹(按自己喜好建文件夹就好)

比如我的文件夹windows

  1. 上传之后在liunx系统下更改这些字体库的权限:
sudo chmod 755 /usr/share/fonts/windows/*
  1. 接着根据当前目录下的字体建立scale文件
sudo mkfontscale
  1. 接着建立dir文件
sudo mkfontdir

7.然后运行

sudo fc-cache

5.注意在代码里面wordToPdf这个方法中加上

FontSettings.setFontsFolder("/usr/share/fonts/windows"+File.separator, true);//此处处理乱码和小方块

fonts后面的windows是你自己新增文件夹名称

然后重启项目就可以了