Java 通过aspose.words 把docx文件转成pdf文件后中文变成小方块,aspose转pdf乱码问题的解决方法

Java 通过aspose.words 把docx文件转成pdf文件后中文变成小方块,aspose转pdf乱码问题的解决方法

一、问题描述
​ 在centos服务器使用aspose.word转换word文件为pdf的时候显示中文乱码,但是在win服务器上使用可以正常转换

二、问题原因
由于linux服务器缺少对应的字库导致文件转换出现乱码的

三、解决方式
1.将window中字体(c:\windows\fonts)放到linux中,上传至/usr/share/fonts/chinese目录下
将本地的fonts目录拷贝到桌面,然后打包fonts.zip文件。
登录到linux服务器,cd 到 /usr/shared/fonts/ 目录,如果没有chinese目录,则执行mkdir chinese创建目录。
rz 上传fonts.zip到chinese目录
unzip fonts.zip 解压缩到chinese目录。


在aspose代码中添加,经过测试,如下代码可以不用设置。
// FontSettings.getDefaultInstance().setFontsFolder("/usr/share/fonts/chinese", true);

2.登录linux服务器,查看系统中包含哪些字体
fc-list

将fonts上传到/usr/shared/fonts/chinese后,再次执行fc-list命令

刷新内存中的字体缓存
fc-cache

posted on 2024-09-07 15:12  oktokeep  阅读(1542)  评论(0编辑  收藏  举报