java将pdf转换成word

1、jar包准备

在项目中新增lib目录,并将如下两个文件放入lib目录下

aspose-words-15.8.0-jdk16.jar

aspose-pdf-22.9.jar

2、pom.xml配置

xml 复制代码
		<dependency>
            <groupId>com.aspose</groupId>
            <artifactId>aspose-pdf</artifactId>
            <version>22.9</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/lib/aspose-pdf-22.9.jar</systemPath>
        </dependency>

3 去除水印配置

在项目中的resource文件夹下新增文件名为license.xml的文件

xml 复制代码
<License>
    <Data>
        <Products>
            <Product>Aspose.Total for Java</Product>
            <Product>Aspose.Words for Java</Product>
        </Products>
        <EditionType>Enterprise</EditionType>
        <SubscriptionExpiry>20991231</SubscriptionExpiry>
        <LicenseExpiry>20991231</LicenseExpiry>
        <SerialNumber>8bfe198c-7f0c-4ef8-8ff0-acc3237bf0d7</SerialNumber>
    </Data>
    <Signature>
        sNLLKGMUdF0r8O1kKilWAGdgfs2BvJb/2Xp8p5iuDVfZXmhppo+d0Ran1P9TKdjV4ABwAgKXxJ3jcQTqE/2IRfqwnPf8itN8aFZlV3TJPYeD3yWE7IT55Gz6EijUpC7aKeoohTb4w2fpox58wWoF3SNp6sK6jDfiAUGEHYJ9pjU=
    </Signature>
</License>

3、pdf转换城word代码

java 复制代码
import com.aspose.pdf.Document;
import com.aspose.pdf.License;
import com.aspose.pdf.SaveFormat;

import java.io.FileOutputStream;
import java.io.InputStream;

public class PdfToWord {
 public static boolean getLicense() {
        boolean result = false;
        try {
            InputStream is = Page.class.getClassLoader().getResourceAsStream("\\license.xml"); // license.xml应放在..\WebRoot\WEB-INF\classes路径下
            License aposeLic = new License();
            aposeLic.setLicense(is);
            result = true;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return result;
    }

    public static void main(String[] args) {
        getLicense();
        pdf2doc("文件地址");
    }

    //pdf转doc
    public static void pdf2doc(String pdfPath) {
        long old = System.currentTimeMillis();
        try {
            //新建一个word文档
            String wordPath=pdfPath.substring(0,pdfPath.lastIndexOf("."))+".docx";
            FileOutputStream os = new FileOutputStream(wordPath);
            //doc是将要被转化的word文档
            Document doc = new Document(pdfPath);
            //全面支持DOC, DOCX, OOXML, RTF HTML, OpenDocument, PDF, EPUB, XPS, SWF 相互转换
            doc.save(os, SaveFormat.DocX);
            os.close();
            //转化用时
            long now = System.currentTimeMillis();
            System.out.println("Pdf 转 Word 共耗时:" + ((now - old) / 1000.0) + "秒");
        } catch (Exception e) {
            System.out.println("Pdf 转 Word 失败...");
            e.printStackTrace();
        }
    }
}
相关推荐
Carsene13 分钟前
开篇:我们距离理想的 Java SQL DSL 还有多远?
java·sql
敖正炀13 分钟前
集合-List-LinkedList
java
AI人工智能+电脑小能手13 分钟前
【大白话说Java面试题】【Java基础篇】第9题:HashMap根据key查询元素的时间复杂度是多少
java·开发语言·数据结构·后端·面试·哈希算法·哈希表
daanpdf16 分钟前
大一《中国近代史纲要》题库及答案PDF知识点整理笔记
笔记·pdf
invicinble17 分钟前
对于java面向对象的知识
java·开发语言
铭彩色20 分钟前
refresh token(保证access token获取及用户安全)
java·安全
2501_9130613421 分钟前
网络原理知识(6)
java·网络·网络协议·面试
invicinble21 分钟前
java面向对象的学习主线
java·开发语言·学习
Devin~Y22 分钟前
大厂Java面试实战:Spring Boot/Cloud + Redis/Kafka + K8s + RAG/Agent 追问全流程(小Y翻车记)
java·spring boot·redis·spring cloud·kafka·kubernetes·micrometer
桌面运维家28 分钟前
vDisk虚拟磁盘隐藏指定系统操作指南
java·开发语言