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

相关推荐
GreenTea1 小时前
vLLM 与 SGLang KV Cache 底层实现机制深度调研报告
前端·后端·算法
考虑考虑1 小时前
Java实现hmacsha256加密算法
java·后端·java ee
captain3761 小时前
▲网络原理(2)-TCP
java·服务器·网络·tcp/ip·java-ee
MetaLite2 小时前
SpringBoot接口分层规范-外网网关内部服务与参数边界
java·数据库·spring boot
Co_Hui2 小时前
Java 线程状态
java
凤山老林2 小时前
聊聊企业级 API 安全:Spring Boot 落地 OAuth 2.1、mTLS 与接口签名防篡改
spring boot·后端·安全·oauth
土司大王2 小时前
LeetCode hot100——35.搜索插入位置:Java 二分模板、左闭右开区间与插入点分析
java·算法·leetcode
土司大王3 小时前
LeetCode hot100——34.在排序数组中查找元素的第一个和最后一个位置:Java 二分模板、边界分析
java·算法·leetcode
林鹿3 小时前
maven属性与groovy变量对照表
后端
金金计较.3 小时前
Go语言-3
java·开发语言·golang