POI word转pdf乱码问题处理

1.使用poi 转换word文档成pdf

导入依赖

java 复制代码
       <dependency>
            <groupId>com.aspose</groupId>
            <artifactId>words</artifactId>
            <version>16.8.0</version>
        </dependency>

2.代码实现:

java 复制代码
    @SneakyThrows
    public void wordToPdf(String docPath, String pdfPath) {
        Document doc = new Document(docPath);
        doc.save(pdfPath, SaveFormat.PDF);
    }

pdf下载后出现乱码问题

问题是linux服务器缺少windows环境下的字体文件

3.复制windows环境字体环境到linux下面

3.1 复制windows该路径下的字体文件,打包压缩到fonts.zip文件夹

3.2 进入 /usr/shared/fonts/路径下,新建my-fonts文件夹

java 复制代码
mkdir my-fonts

3.3 上传fonts.zip文件到该目录并解压

bash 复制代码
unzip fonts.zip 

3.4 依次在改了目录下执行命令

bash 复制代码
# mkfontscale
# mkfontdir

3.5 使用命令:vi /etc/fonts/fonts.conf 修改配置文件,添加:<dir>/usr/share/fonts/my-fonts</dir>

添加后:

然后运行:fc-cache

3.6 授权

bash 复制代码
## chmod 777 /usr/share/fonts/my-fonts**

## chmod 755 /usr/share/fonts/my-fonts/***

3.7 查看

bash 复制代码
# fc-list :lang=zh 

先确定乱码部分的字体(simsun.ttf)是不是在linux服务有

3.8 如果还是没有效果,则重启服务器生效

相关推荐
糟糕好吃2 分钟前
我让 AI 操作网页之后,开始不想点按钮了
前端·javascript·后端
耀耀_很无聊17 分钟前
09_Jenkins安装JDK环境
java·运维·jenkins
ノBye~19 分钟前
Centos7.6 Docker安装redis(带密码 + 持久化)
java·redis·docker
黑臂麒麟20 分钟前
openYuanrong:多语言运行时独立部署以库集成简化 Serverless 架构 & 拓扑感知调度:提升函数运行时性能
java·架构·serverless·openyuanrong
XiaoLeisj29 分钟前
Android Jetpack 页面架构实战:从 LiveData、ViewModel 到 DataBinding 的生命周期管理与数据绑定
android·java·架构·android jetpack·livedata·viewmodel·databinding
⑩-33 分钟前
为什么要用消息队列?使用场景?
java·rabbitmq
似水明俊德36 分钟前
01-C#.Net-泛型-面试题
java·开发语言·面试·c#·.net
leonkay1 小时前
Golang语言闭包完全指南
开发语言·数据结构·后端·算法·架构·golang
Allnadyy1 小时前
【C++项目】从零实现高并发内存池(一):核心原理与设计思路
java·开发语言·jvm
浑水摸鱼仙君1 小时前
SpringSecurity和Flux同时使用报未认证问题
java·ai·flux·springsecurity·springai