java实现word转pdf

引入依赖包

java 复制代码
 <dependencies>
    
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>2.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.59</version>
        </dependency>
        
        

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.10.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-scratchpad</artifactId>
            <version>3.10.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.10.1</version>
        </dependency>
        <dependency>
            <groupId>fr.opensagres.xdocreport</groupId>
            <artifactId>org.apache.poi.xwpf.converter.core</artifactId>
            <version>1.0.6</version>
        </dependency>
        <dependency>
            <groupId>fr.opensagres.xdocreport</groupId>
            <artifactId>org.apache.poi.xwpf.converter.pdf</artifactId>
            <version>1.0.6</version>
        </dependency>
        <dependency>
            <groupId>fr.opensagres.xdocreport</groupId>
            <artifactId>fr.opensagres.xdocreport.itext.extension</artifactId>
            <version>2.0.1</version>
        </dependency>
    </dependencies>

测试代码

java 复制代码
 package com.hjyang.doc.convert.pdf.doc.conver;

import org.apache.poi.xwpf.converter.pdf.PdfConverter;
import org.apache.poi.xwpf.converter.pdf.PdfOptions;
import org.apache.poi.xwpf.usermodel.XWPFDocument;

import java.io.*;

public class TestDoc2Pdf {

    public static void wordToPdf(String docFile,String pdfFile) throws IOException {
        XWPFDocument document;
        InputStream doc = new FileInputStream(docFile);
        document = new XWPFDocument(doc);
        PdfOptions options = PdfOptions.create();
        OutputStream out = new FileOutputStream(pdfFile);
        PdfConverter.getInstance().convert(document, out, options);
        doc.close();
        out.close();
    }

    public static void main(String[] args) {
        try {
             wordToPdf("D:/word2pdfFile/123.docx", "D:/word2pdfFile/123.pdf");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

测试样式

说明:

(1)支持中文,不需要字体转化;

(2)样式保存较好。

相关推荐
都叫我大帅哥2 小时前
Java JJWT 完全指南:从入门到生产级实践
java
前端开发张小七3 小时前
Java 学习笔记 · 第一课:基础语法与核心概念
java·后端
ThsPool4 小时前
【ENVI二次开发学习整理 04】ENVI功能扩展与二次开发
java·前端·javascript
赤壁小虾4 小时前
【渲染流水线】[逐片元阶段]-[透明度测试]以UnityURP为例
java·前端·数据库
青山木5 小时前
Hot 100 --- 搜索插入位置
java·数据结构·算法·leetcode
Jul1en_5 小时前
【Claude Code Compact】源码级别的学习上下文压缩
java·前端·学习·github·ai编程
摇滚侠5 小时前
《SpringBoot 3:入门与应用实战》第 15 章 生产级特性 管理 Spring Boot 应用 阅读笔记
java·spring boot·笔记
鸿翼Macrowing5 小时前
**从一份 PDF 到一次 API 调用:企业 AI 能力的“最后一公里“**
人工智能·pdf·agent·数据治理·skill
XWalnut6 小时前
SpringBoot快速入门
java·spring boot·后端
前端 贾公子6 小时前
第06章:结构化输出 (上)
java·服务器·前端