一、说明

因系统需要,要在系统中做一个文档预览的功能,网上有挺多第三方的工具,但是都是收费的,有 什么永中啊,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 实现文档在线预览功能相关推荐

  1. 前端【vue】实现文档在线预览功能,在线预览pdf、word、xls、ppt等office文件

    前端江太公 前端实现文档在线预览功能 最直接的就是使用XDOC 文档云服务 XDOC可以实现预览以DataURI表示的DOC文档,此外XDOC还可以实现文本.带参数文本.html文本.json文本.公 ...

  2. office 文档 在线预览功能实现(word,excel,pdf,ppt等多种格式)——使用https://view.xdocin.com/view 提示文档过期——基础积累

    web实现office文档在线预览功能--基础积累 最近遇到一个需求,就是要实现多种文档链接的在线预览,最简单的方式就是通过window.open(url地址)的方式来实现. 但是如果要求是在一个弹窗 ...

  3. Android实现文档在线预览功能

    前段时间,项目中有个需求是实现文档预览的功能,Android要实现该功能要比IOS复杂的多,下面就我调研的情况,总结一下,供大家参考: 一.WebView 网页显示 该方式类似于ios的实现方式,使用 ...

  4. 【Vue实用功能】Vue实现文档在线预览功能,在线预览PDF、Word、Excel、ppt等office文件

    文章目录 @[TOC](文章目录) 方法一. Luckysheet 预览 方法二. Office Web 查看器(微软的开发接口) 方法三. XDOC文档预览云服务(预览pdf.word.xls.pp ...

  5. Java实现文档在线预览

    欢迎大家关注我的公众号[老周聊架构],Java后端主流技术栈的原理.源码分析.架构以及各种互联网高并发.高性能.高可用的解决方案. 主要思路 使用openoffice方式实现word预览 安装open ...

  6. Java如何实现文档在线预览

    文章目录 一.概述 二.Java实现文档在线预览 2.1 永中DCS简介 2.2 使用方式 2.3 centos安装部署DCS服务 编辑Java环境 安装部署Tomcat 部署DCS工程 安装ngin ...

  7. wps在线预览接口_WPS文档在线预览接入的一点心得

    花了大半天时间接入WPS文档在线预览功能,还算比较顺利. 原来的OA系统一直用到文档在线预览功能,之前是用微软+officeweb365来实现的.一直感觉不太理想.昨天无意间见到金山WPS开放了在线文 ...

  8. 如何实现文档在线预览

    从事软件开发已经有快5个年头了.在我经历过的每一家公司都避免不了有需要做文档在线预览的功能.那么客户为什么需要文档在线预览的功能呢?可能包括以下几点, 1.开发的系统支持文件可下载,那么客户肯定会再次 ...

  9. 用JAVA实现word文档在线预览的功能

    预览Word.PPT.Excel 我之前发过一篇文章,是介绍office预览和编辑的但是大部门插件都是收费的,我这次提供的是免费的一个将Word.PPT.Excel转换为PDF然后在浏览器进行预览,之 ...

最新文章

  1. remote: error: GH007: Your push would publish a private email address.
  2. BZOJ4298 : [ONTAK2015]Bajtocja
  3. 安装PHP出现make: *** [sapi/cli/php] Error 1 解决办法
  4. 【GoLang】GoLang 错误处理 -- 异常处理思路示例
  5. 【H.264/AVC视频编解码技术】序章【编码的前世今生】
  6. Java应用结构规范
  7. 数据结构分类概述【转载】
  8. 信源压缩编码 编程c语言,霍夫曼信源编码实验报告.docx
  9. C#核编之格式化编程
  10. Django REST Framework API Guide 02
  11. 【前端后端运维】Web开发人员学习路线,汇总整理
  12. 项目背景一般写什么_项目申报整体框架规划思路,提高你的书写逻辑!
  13. STL之string
  14. LOJ6031 「雅礼集训 2017 Day1」字符串 SAM、根号分治
  15. 通过shell和redis来实现集群业务中日志的实时收集分析
  16. 【OpenCVOpenGLMarkerless AR】原理部分+代码
  17. 如何查看计算机tcp ip协议,如何测试TCP/IP协议是否正常?
  18. 12306中/otn/HttpZF/logdevice?algID 与 /otn/HttpZF/GetJS 的关系
  19. 漏洞扫描的原理与设计
  20. Windows2008R2操作系统日志清理

热门文章

  1. 未来10年后的计算机技术会有什么变化?
  2. reverse()函数的使用方法
  3. U盘多分驱如何格式化
  4. php 挂机,用php实现qq挂机_PHP教程
  5. cocos2dx-Lua引擎游戏脚本及图片资源解密与DUMP
  6. 学霸计算机考试新闻,陪学生考试老师意外考上哈佛 堪称学霸中的战斗机
  7. 托福口语考试侧重点介绍【zhasite】
  8. 宏观框架-海通梁中华-01)
  9. 推荐五种最给力的外汇工具
  10. Mac OX上安装MongoDb