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 如果还是没有效果,则重启服务器生效

相关推荐
JavaGuide15 小时前
IntelliJ IDEA 2026.1 EAP 发布!拥抱 Java 26,Spring Boot 4 深度支持!
java·后端·mysql·springboot·idea·大厂面试·javaguide
丁一郎学编程15 小时前
测试开发面经
java·开发语言
a程序小傲15 小时前
京东Java面试被问:RPC调用的熔断降级和自适应限流
java·开发语言·算法·面试·职场和发展·rpc·边缘计算
独自破碎E15 小时前
MyBatis Flex和MyBatis Plus的区别
java·开发语言·mybatis
葡萄成熟时 !15 小时前
正则表达式
java·正则表达式
无心水15 小时前
微服务架构下Dubbo线程池选择与配置指南:提升系统性能与稳定性
java·开发语言·微服务·云原生·架构·java-ee·dubbo
小北方城市网15 小时前
MySQL 索引优化实战:从慢查询到高性能
数据库·spring boot·后端·mysql·rabbitmq·mybatis·java-rabbitmq
Chan1615 小时前
《Java并发编程的艺术》| 并发关键字与 JMM 核心规则
java·开发语言·数据库·spring boot·java-ee·intellij-idea·juc
期待のcode16 小时前
线程睡眠sleep方法
java·开发语言
汤姆yu16 小时前
基于springboot的植物花卉销售管理系统
java·spring boot·后端