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

相关推荐
Frostnova丶7 小时前
LeetCode 190.颠倒二进制位
java·算法·leetcode
闻哥8 小时前
Redis事务详解
java·数据库·spring boot·redis·缓存·面试
hrhcode8 小时前
【Netty】五.ByteBuf内存管理深度剖析
java·后端·spring·springboot·netty
道亦无名8 小时前
aiPbMgrSendAck
java·网络·数据库
发现你走远了8 小时前
Windows 下手动安装java JDK 21 并配置环境变量(详细记录)
java·开发语言·windows
心 -8 小时前
java八股文DI
java
NEXT068 小时前
后端跑路了怎么办?前端工程师用 Mock.js 自救实录
前端·后端·程序员
泯泷9 小时前
提示工程的悖论:为什么与 AI 对话比你想象的更难
人工智能·后端·openai
黎雁·泠崖9 小时前
Java常用类核心详解(一):Math 类超细讲解
java·开发语言
大尚来也9 小时前
跨平台全局键盘监听实战:基于 JNativeHook 在 Java 中捕获 Linux 键盘事件
java·linux