springboot集成openoffice实现office转PDF在线预览
1、下载官网
OpenOffice 下载地址 Apache OpenOffice - Official Download
2、安装启动服务
window环境:
进入openoffice安装目录:/program/
开启服务:cmd命令
soffice -headless -accept=“socket,host=127.0.0.1,port=8100;urp;” -nofirststartwizard
Linux环境:
1. 解压缩
tar -xvzf ***.tar.gz
2.安装openoffice
cd ***/
cd RPMS/
rpm -ivh --force --nodeps *.rpm
方式一样进入安装目录启动服务
一般Linux在/opt/openoffice4下
以后台服务方式启动openoffice
/opt/openoffice4/program/soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &
3、整合Springboot
3.1 pom文件
注:jodconverter 2.2.2版本以下不支持docx等文件类型装换
JodConverter 下载地址JODConverter - Browse /JODConverter at SourceForge.net
<dependency><groupId>com.artofsolving</groupId><artifactId>jodconverter</artifactId><version>2.2.2</version></dependency><dependency><groupId>org.openoffice</groupId><artifactId>jurt</artifactId><version>4.1.2</version></dependency><dependency><groupId>org.openoffice</groupId><artifactId>ridl</artifactId><version>4.1.2</version></dependency><dependency><groupId>org.openoffice</groupId><artifactId>juh</artifactId><version>4.1.2</version></dependency><dependency><groupId>org.openoffice</groupId><artifactId>unoil</artifactId><version>4.1.2</version></dependency>
3.2、yml配置文件
openOffice:host: 127.0.0.1port: 8100
3.3OpenOfficeUtil工具类
/*** @Description: office转换pdf工具类* @author: djq*/
@Component
@Slf4j
public class OpenOfficeUtil {/*** @Description: office转换pdf* @author: djq* @param file* @param outFile* @return*/public void office2Pdf(File file, File outFile) {// 判断源文件是否存在if (!file.exists()) {log.error("转换源文件不存在!");throw new RuntimeException("转换源文件不存在!");}// 创建连接OpenOfficeConnection connection = null;try {// 远程连接OpenOffice服务log.info("远程连接OpenOffice服务");connection = new SocketOpenOfficeConnection(host, port);connection.connect();// 创建文件转换器DocumentConverter converter = new StreamOpenOfficeDocumentConverter(connection);// 开始转换converter.convert(file, outFile);if (outFile.exists()) {log.info("文件转换成功");} else {log.info(文件转换失败");}} catch (ConnectException e) {e.printStackTrace();log.error("OpenOffice服务启动失败";} finally {if (connection != null) {connection.disconnect();}}}@Value("${openOffice.host}")private String host;@Value("${openOffice.port}")private int port;
}
3.4测试文件 日志
写个测试类自动测试,启动测试成功
package com.zgdz.util.controller;import java.io.File;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import com.zgdz.util.util.OpenOfficeUtil;import lombok.extern.slf4j.Slf4j;/*** @Description: test* @author: djq* @date: 2022-04-13 19:03 */
@RestController
@Slf4j
public class OpenOfficeController {@Autowiredprivate OpenOfficeUtil openOfficeUtil;@RequestMapping(value = "/test")public Object testOpenOffice() {String wordpath = "D:\\openOffice测试.docx";String pdfpath = "D:\\openOffice测试.pdf";openOfficeUtil.office2Pdf(new File(wordpath), new File(pdfpath));return true;}
}
2022-04-13 19:02:38.728 INFO 13460 --- [nio-9527-exec-1] com.zgdz.util.util.OpenOfficeUtil : 远程连接OpenOffice服务
2022-04-13 19:02:38.787 INFO 13460 --- [nio-9527-exec-1] c.a.j.o.c.SocketOpenOfficeConnection : connected
2022-04-13 19:02:39.538 INFO 13460 --- [nio-9527-exec-1] com.zgdz.util.util.OpenOfficeUtil :文件转换成功
2022-04-13 19:02:39.539 INFO 13460 --- [nio-9527-exec-1] c.a.j.o.c.SocketOpenOfficeConnection : disconnected
springboot集成openoffice实现office转PDF在线预览相关推荐
- office 文档 在线预览功能实现(word,excel,pdf,ppt等多种格式)——使用https://view.xdocin.com/view 提示文档过期——基础积累
web实现office文档在线预览功能--基础积累 最近遇到一个需求,就是要实现多种文档链接的在线预览,最简单的方式就是通过window.open(url地址)的方式来实现. 但是如果要求是在一个弹窗 ...
- office文档在线预览工具平台选型
在线预览原理 文档在线预览说明: 1.业务系统生成文档浏览地址,用户通过终端进行访 2.用户终端访问文档预览资源地址,请求文档解析器,解析器分为私有云和公有云部署,作用是将文档进行解析成x ...
- java实现word转pdf在线预览格式
java实现word转pdf在线预览格式 前段时间的项目里涉及了此功能,调研过一些方案,踩过一些坑,一一总结在此. java转pdf的方案很多,但是很多都要收费,转pdf也有一些格式方面的问题. 方案 ...
- asp.net实现word、excel、ppt、pdf在线预览
引言 之前项目需要,查找了office文档在线预览的解决方案,顺便记录一下,方便以后查询. 方案一 直接在浏览器中打开Office文档在页面上的链接.会弹出如下窗口: 优点:主流浏览器都支持. 缺点: ...
- [Asp.net]常见word,excel,ppt,pdf在线预览方案,有图有真相,总有一款适合你
引言 之前项目需要,查找了office文档在线预览的解决方案,顺便记录一下,方便以后查询. 方案一 直接在浏览器中打开Office文档在页面上的链接.会弹出如下窗口: 优点:主流浏览器都支持. 缺点: ...
- [Asp.net]常见word,excel,ppt,pdf在线预览方案,有图有真相,总有一款适合你!...
[Asp.net]常见word,excel,ppt,pdf在线预览方案,有图有真相,总有一款适合你! 引言 之前项目需要,查找了office文档在线预览的解决方案,顺便记录一下,方便以后查询. 方案一 ...
- [Asp.net]常见word,excel,ppt,pdf在线预览方案,有图有真相,总有一款适合你!
引言 之前项目需要,查找了office文档在线预览的解决方案,顺便记录一下,方便以后查询. 方案一 直接在浏览器中打开Office文档在页面上的链接.会弹出如下窗口: 优点:主流浏览器都支持. 缺点: ...
- Java 实现word pdf在线预览
Java 实现word pdf在线预览 最近项目有这个需求,查找了一些资料,在这整理一下. 首先,pdf的文件,浏览器本身支持预览,不需要做什么处理. controller: 简单说下思路:就是利用i ...
- office web viewer实现office文档在线预览
office web viewer实现office文档在线预览 office web viewer官网介绍 若要自行制作 URL,您可使用以下链接,其中 <文档位置> 是文档的 URL. ...
- ❤️强烈推荐!Word、Excel、PPT、PDF在线预览解决方案
大家好,我是锋哥: 平时大伙开发项目的时候,经常遇到业务需求Word.Excel.PPT.PDF在线预览功能: 市面上这方面的解决方案也有一些,不做过多评价.今天主要推荐的是一个特定提前下的永久免费解 ...
最新文章
- python比java简单好学-21、PHP和python/JAVA比,哪个更好学?
- 第十篇 数据类型总结
- 残差网络ResNet
- 1076 Wifi密码 (15 分)—PAT (Basic Level) Practice (中文)
- lucene 分词实现
- 我和老公清北毕业,我能接受自己的孩子读三流学校吗?
- 480.滑动窗口中位数
- 爬取中国地震网地震数据
- php切图工具,前端切图常见技巧
- 【IoT】产品组合投资地图:如何将产品战略与执行联系起来?
- ftp服务器设置上文件大小,ftp服务器文件上传大小设置
- 再谈Spring(一):Bean的作用域
- 校招软件测试面试问题总结
- 日期横线转为斜线oracle,excel 函数 日期横线格式自动变成斜线 | excle日期显示横线...
- (附源码)springboot在线学习网站 毕业设计 751841
- 移位运算符(<<、>>和>>>)
- 微信运动刷步软件是真的吗?微信运动刷步软件有用吗?
- 本科课程模糊综合评价系统设计与实现
- python中两个除号连用是什么意思啊_【人人都是Pythoner】——python3中“变革”了的除号...
- 物联网系列--整体框架搭建