首页 > 编程知识 正文

java如何实现pdf转word,java实现pdf转文字

时间:2023-05-05 05:38:56 阅读:244727 作者:4742

文章时间:2020-12-5 16:38:54

解决问题:java实现word转pdf

目前发现可用的实现方式有两种,一种是使用e-iceblue的免费版api,此方法最为简单但存在限制,导出页数不能超过三页。

另一种是使用openoffice,但较上一种方法麻烦一些,需要安装openoffice的软件,但没有导出限制,请根据自身需求自行选用。

方式一 e-iceblue的免费版api

官方文档https://www.e-iceblue.cn/spiredocforjavaconversion/java-convert-word-to-pdf.html

第一步 添加maven依赖及远程仓库

...

e-iceblue

spire.doc.free

3.9.0

...

...

com.e-iceblue

http://repo.e-iceblue.cn/repository/maven-public/

...

第二步 编写后台代码

参考代码如下

// 模板文件路径

String templateUrl = "C:\Users\dev\Desktop\template.docx";

// word文件生成路径

String generateUrl ="C:\Users\dev\Desktop\generate.pdf";

Document document = new Document();

document.loadFromFile(generateUrl);

//保存生成的pdf

document.saveToFile(generateUrl, FileFormat.PDF);

方式二 openoffice转换

官方文档:http://www.openoffice.org/why/index.html

openoffice安装教程:http://wiki.nooss.cn/archives/405.html

第一步 添加maven依赖

需注意:此处引用的版本为2.2.1版本,不支持.docx文件的转换,若需要转换.docx文件需2.2.2及以上版本,但maven库没有此版本需自行下载导入jar包

com.artofsolving

jodconverter

2.2.1

第二步 编写后台代码

// word文件路径

String sourceFile = "C:\Users\dev\Desktop\template.docx";

// 生成的pdf路径

String destFile = "C:\Users\dev\Desktop\generate.pdf";

try {

File inputFile = new File(sourceFile);

// 如果目标路径不存在, 则新建该路径

File outputFile = new File(destFile);

if (!outputFile.getParentFile().exists()) {

outputFile.getParentFile().mkdirs();

}

// 连接到运行在端口8100上的OpenOffice

OpenOfficeConnection connection = new SocketOpenOfficeConnection(

"127.0.0.1", 8100);

connection.connect();

// 文件转换

DocumentConverter converter = new OpenOfficeDocumentConverter(

connection);

converter.convert(inputFile, outputFile);

// 关闭连接

connection.disconnect();

} catch (IOException e) {

e.printStackTrace();

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。