Java 实现文档在线预览功能
一、说明
因系统需要,要在系统中做一个文档预览的功能,网上有挺多第三方的工具,但是都是收费的,有 什么永中啊,OFFICE 365 XDOC啊,这些大概一搜都能搜到,价格也不是很贵。
但是,能不付费就尽量不付费不是?把钱省下来外面搓一顿不是更香吗?好了废话不多说,直接上代码。
温馨提示:这个东西坑特别多,为了避免大家重复踩坑,博主在这里记录一篇详细的教程。
二、测试
Gitee上面找了一个开源项目:https://gitee.com/kekingcn/file-online-preview.git
不管怎么样,先下载下来试一试再说吧,公司网络比较差,总的下载下来大概花了10几分钟,文件总大小504M。
下载完了之后直接打开开发神器 IDEA 导入项目,这个过程有点久。
源码加载完成,找到启动类。双击打开,右键启动即可。
看到以下输出,说明完美启动了,没有报错。
这个时候,打开浏览器试一下,打开浏览器输入: http://localhost:8012
看到这个页面,说明没有问题,那么开始测试了。先上传一个word测试以下。
感觉看到了希望,好像还挺好用,下面介绍一下怎么部署到Linux服务器上面去。下面的内容很关键,可以避免踩很多坑。
三、Linux部署项目
1、安装 openoffice ,官网下载比较慢,博主把下载好的安装包放到了百度网盘,Windows和Linux的都有,大家可以使用下面的连接下载。
链接:https://pan.baidu.com/s/10hhta6xd5KLpkR3w2u9krQ
提取码:op9d
2、Windows安装很简单,一路下一步即可,Linux安装教程参考另一篇博客:https://blog.csdn.net/Wjhsmart/article/details/105505164
3、连接到服务器,创建好一个目录,博主创建的是 /data/zywork-file-view,如下图。
4、打开项目,找到main目录下面。把bin,config,file,log这4个目录上传到服务器上面。
5、授权,执行下面命令给新建的目录及以下的文件授权,不做这一步,后面操作会提示无权限。
chmod -R 777 /data/zywork-file-view
6、进入bin目录下面。bin目录下面的文件可只保留3个批处理文件。
7、执行下面的命令,修改批处理文件。如果不执行这个操作,会提示:坏的解释器。这个是因为在Linux中有时候我们将在Windows下编写的脚本拷贝到Linux环境中运行时会出现运行不了的情况。
// 修改启动处理文件
vim startup.sh
:set ff=unix
:wq
// 修改日志查看处理文件
vim showlog.sh
:set ff=unix
:wq
// 修改管理处理文件
vim shutdown.sh
:set ff=unix
:wq
8、打包jar,打开 idea 打包好jar。打包好了之后把jar上传至服务器。
也可以执行下面的命令打包:
cd file-online-preview
mvn clean package -DskipTests -Prelease
打包好了之后会在target目录下面生成一个jar:
将这个jar上传到服务器中的bin目录下面
9、启动项目。执行下面的命令启动这个项目。
// 进入bin目录
cd /data/zywork-file-view/bin
// 启动程序
./startup.sh
// 查看日志
./showlog.sh
没有报错说明启动成功。这里要特别注意,如果之前 openOffice 已经启动过了的话,这个项目就会启动失败,需要先关掉 openOffice 然后再来启动这个项目。
10、停止服务器,如果需要关闭这个项目,只需要执行下面的命令即可。
./shutdown.sh
11、启动说明,如果 openOffice 已经启动成功的话,项目会启动不成功。可以执行下面命令来解决。
// 查看8100端口是否启动
netstat -lnp | grep 8100
// 结束进程
kill 15756
四、使用
var url = 'http://127.0.0.1:8080/file/test.txt'; //要预览文件的访问地址
window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(url));
五、总结
博主走了很多弯路才整明白这个东西,在这里记录一下整个过程,希望可以帮助大家少踩坑。由衷感谢代码拥有者。
码字不易,如果你觉得本文对你有帮助,帮忙点个赞就好了。
Java 实现文档在线预览功能相关推荐
- 前端【vue】实现文档在线预览功能,在线预览pdf、word、xls、ppt等office文件
前端江太公 前端实现文档在线预览功能 最直接的就是使用XDOC 文档云服务 XDOC可以实现预览以DataURI表示的DOC文档,此外XDOC还可以实现文本.带参数文本.html文本.json文本.公 ...
- office 文档 在线预览功能实现(word,excel,pdf,ppt等多种格式)——使用https://view.xdocin.com/view 提示文档过期——基础积累
web实现office文档在线预览功能--基础积累 最近遇到一个需求,就是要实现多种文档链接的在线预览,最简单的方式就是通过window.open(url地址)的方式来实现. 但是如果要求是在一个弹窗 ...
- Android实现文档在线预览功能
前段时间,项目中有个需求是实现文档预览的功能,Android要实现该功能要比IOS复杂的多,下面就我调研的情况,总结一下,供大家参考: 一.WebView 网页显示 该方式类似于ios的实现方式,使用 ...
- 【Vue实用功能】Vue实现文档在线预览功能,在线预览PDF、Word、Excel、ppt等office文件
文章目录 @[TOC](文章目录) 方法一. Luckysheet 预览 方法二. Office Web 查看器(微软的开发接口) 方法三. XDOC文档预览云服务(预览pdf.word.xls.pp ...
- Java实现文档在线预览
欢迎大家关注我的公众号[老周聊架构],Java后端主流技术栈的原理.源码分析.架构以及各种互联网高并发.高性能.高可用的解决方案. 主要思路 使用openoffice方式实现word预览 安装open ...
- Java如何实现文档在线预览
文章目录 一.概述 二.Java实现文档在线预览 2.1 永中DCS简介 2.2 使用方式 2.3 centos安装部署DCS服务 编辑Java环境 安装部署Tomcat 部署DCS工程 安装ngin ...
- wps在线预览接口_WPS文档在线预览接入的一点心得
花了大半天时间接入WPS文档在线预览功能,还算比较顺利. 原来的OA系统一直用到文档在线预览功能,之前是用微软+officeweb365来实现的.一直感觉不太理想.昨天无意间见到金山WPS开放了在线文 ...
- 如何实现文档在线预览
从事软件开发已经有快5个年头了.在我经历过的每一家公司都避免不了有需要做文档在线预览的功能.那么客户为什么需要文档在线预览的功能呢?可能包括以下几点, 1.开发的系统支持文件可下载,那么客户肯定会再次 ...
- 用JAVA实现word文档在线预览的功能
预览Word.PPT.Excel 我之前发过一篇文章,是介绍office预览和编辑的但是大部门插件都是收费的,我这次提供的是免费的一个将Word.PPT.Excel转换为PDF然后在浏览器进行预览,之 ...
最新文章
- remote: error: GH007: Your push would publish a private email address.
- BZOJ4298 : [ONTAK2015]Bajtocja
- 安装PHP出现make: *** [sapi/cli/php] Error 1 解决办法
- 【GoLang】GoLang 错误处理 -- 异常处理思路示例
- 【H.264/AVC视频编解码技术】序章【编码的前世今生】
- Java应用结构规范
- 数据结构分类概述【转载】
- 信源压缩编码 编程c语言,霍夫曼信源编码实验报告.docx
- C#核编之格式化编程
- Django REST Framework API Guide 02
- 【前端后端运维】Web开发人员学习路线,汇总整理
- 项目背景一般写什么_项目申报整体框架规划思路,提高你的书写逻辑!
- STL之string
- LOJ6031 「雅礼集训 2017 Day1」字符串 SAM、根号分治
- 通过shell和redis来实现集群业务中日志的实时收集分析
- 【OpenCVOpenGLMarkerless AR】原理部分+代码
- 如何查看计算机tcp ip协议,如何测试TCP/IP协议是否正常?
- 12306中/otn/HttpZF/logdevice?algID 与 /otn/HttpZF/GetJS 的关系
- 漏洞扫描的原理与设计
- Windows2008R2操作系统日志清理