word转pdf的java实现_java实现word转pdf

word转pdf的java实现_java实现word转pdf文章时间:2020-12-516:38:54解决问题:java实现word转pdf目前发现可用的实现方式有两种,一种是使用e-iceblue的免费版api,此方法最为简单但存在限制,导出页数不能超过三页。另一种是使用openoffice,但较上一种方法麻烦一些,需要安装openoffice的软件,但没有导出限制,请根据自身需求自行选用。方式一e-iceblue的免费版api官方文档https:…

大家好,又见面了,我是你们的朋友全栈君。

文章时间: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();

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/133424.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 一篇文带你从0到1了解建站及完成CMS系统编写

    一篇文带你从0到1了解建站及完成CMS系统编写学习目标了解搭建一般网站的简便方式了解最原始一般站点搭建了解内容管理站点搭建了解权限设计及完成了解使用设计模式减少代码冗余了解前端拖拽页面生成及生成了解自定义数据的创建了解动态生成的前端页如何绑定自定义数据开发环境Windows7*64SP1php5.6apache/nginxthinkphp5.1mysqlphpstudy2018sqlyoglayoutit声明文章为从0到1了解内容管理系统搭建与编写,由于一篇文章内容篇幅过长,文章内容经过压缩,该项目中相

  • 520表白季,教你用matlab画动态心形曲线图,可自动保存GIF格式图片,送给女朋友,她们一定会惊讶,赶紧收藏!!!

    520表白季,教你用matlab画动态心形曲线图,可自动保存GIF格式图片,送给女朋友,她们一定会惊讶,赶紧收藏!!!昨天发表了一篇用python教你画心形图表白的文章:想要表白的看这里,教你用python画不同类型的心形图虏获芳心,值得收藏!!里面详细介绍了各种心形图的画法以及最终的表白神器,值得点赞收藏!!同样matlab也可以实现相同的功能并且还可以做得更好,今天就用教你用matlab画动态心形曲线图,不信请看下面:虏获芳心matlab画动态心形曲线图matlab画动态心形曲线图(基础版)matlab画3D心形图备注matlab画动态心形曲线图利用数学上的格式f(x)=x^2^/^3+e/3*(π-x^2

    2022年10月17日
  • 内存溢出和内存泄漏的区别

    内存溢出和内存泄漏的区别

    2021年10月21日
  • lnk2019无法解析的外部符号_declspec_error lnk1120无法解析的外部命令

    lnk2019无法解析的外部符号_declspec_error lnk1120无法解析的外部命令1.前言errorLNK2019:无法解析的外部符号这个错之前见过很多次,能知道最根本的原因在于链接过程中没有搜索到程序用到的库文件,即*.lib。笔记本重装了系统,有32Bit升到64Bit,运行VTK程序时,始终报错如下:1>  正在创建库E:\Driverprogram\imgport\Debug\imgport.lib和对象E:\Driverprog

  • linux目录结构详解_linux系统配置文件目录

    linux目录结构详解_linux系统配置文件目录前言平常linux系统用的也不少,那么linux下的每个目录都是用来干什么的,小伙伴们有仔细研究过吗?让我们来了解下吧Linux系统目录结构登录系统后,在当前命令窗口下输入命令:[root@

  • wpf listview 分组_JAVA排序

    wpf listview 分组_JAVA排序网上很多方法,但是内容包含太全面,代码看上去很复杂,其实其中有很多是控制UI的,此种方法一行代码自动解决排序问题,另外,wpf的listview和winform的listview细节差别还是很多的。在WPF中ListView的排序最基本的原理很简单就一句话ListViewControl.Items.SortDescriptions.Add(newSortDescription(“name”,…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号