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

Windows正常转换,在linux中转换就出现小方块

aspose-words 解决Linux word转pdf 乱码和出现小方块问题_第1张图片

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

1.windows系统

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

2.liunx系统

 linux的字体库是 /usr/share/fonts 。

3.将windows下面的字体文件拷贝到linux下面的文件夹可以新建文件夹(安自己喜好建文件夹就好)

比如我的文件夹windows

4.上传之后在liunx系统下更改这些字体库的权限:
sudo chmod 755 /usr/share/fonts/windows/*

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

6/接着建立dir文件
   sudo mkfontdir

7.然后运行
   sudo fc-cache

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

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

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

然后重启项目就可以了

如果是docker环境下

重复上面操作,不过进入的服务器是宿主机

docker run -v /usr/share/fonts:/usr/share/fonts ***
docker启动时共享宿主机的字体库重启docker项目即可解决乱码问题

你可能感兴趣的:(java,word转pdf,debian,运维)