最近,有位同学问我,他跟朋友接了一个外包项目,其中有一个需求,需要实现文件在线预览的功能,问我有没有好的解决方案?
我不怕你不问,就怕你不说~
有,肯定有啊,我前段时间才用过一个~
我的这个还比较成熟,有一些公司也在用,它是基于Springboot搭建的,目前支持在线预览的格式比较多,如doc,docx,xls,xlsx,ppt,pptx,pdf,txt,zip,rar,图片,视频,音频等~
是开源项目,可以免费使用。
它主要依赖于OpenOffice或LiberOffice,代码简单易懂,详细的文档,测试Demo,有一些开发经验的同学,基本上都能看懂,没啥难点,而且社区维护的也挺棒的
# OpenOffice、LiberOffice是什么?
Apache OpenOffice与LibreOffice都发源于OpenOffice.org这个开源的office办公套件,支持Windows、Liunx、OS X 等主流操作系统。
具体区别,去网上搜搜,这里我就不啰嗦了~
OpenOffice官网:https://www.openoffice.org
LibreOffice官网:https://www.libreoffice.org
# 效果预览
最主要的是来看效果,如果效果能达到你的预期,那么你便可以把它组装到你的系统里了~
它提供了上传文件的功能,见下图
比如想我,主要测试doc、压缩包、图片这几种格式的文档,方便我集成到自己的系统,那么,我主要就是测试这几种格式~
1、word文档
目前主要支持doc,docx文档预览,它提供了两种预览模式。点击最右侧的按钮,可以自由在两种模式之间切换,见下图
a)图片预览
需要将每页word转换为图片,如果文件过大的话,肯定会很慢,具体效果见下图
b)pdf预览
由于是内网访问,所以加载速度相对较快,效果见下图
2、图片
支持jpg,jpeg,png,gif等,支持翻转,缩放,镜像等效果,效果如下
3、压缩包
支持zip,rar,jar,tar,gzip等格式,预览效果如下
可点击压缩包中的文件名,直接预览文件
它还支持上文提到的其它格式,你可以去依次测试,在本文就不一一测试了~
# 如何安装?
需要安装JDK1.8,依赖OpenOffice或LibreOffice(Windows下已内置,CentOS或Ubuntu下会自动下载安装,MacOS下需要自行安装)。
目前,提供了两种安装方式:
可以直接下载安装包安装,进行安装;
docker方式安装。
docker pull keking/kkfileview
docker run -it -p 8012:8012 keking/kkfileview
通过浏览器,访问容器的8012端口,便可以显示演示页面了。
# 项目结构
利用Maven进行构建的web项目
如果需要读源码的同学,建议入口开始搞起,入口见下图
接下来,重点放在core包,找到自己需要的部分去集成~
项目地址:https://gitee.com/kekingcn/file-online-preview
PS:如果觉得我的分享不错,欢迎大家随手点赞、转发。
更多精彩推荐
☞ 卧槽!我的IDEA中XML显示屎黄色,怎么去掉?
☞ IDEA 调试技巧,比 Eclipse 强太多了!
☞ IntelliJ IDEA 15款超级牛逼插件推荐(自用,真的超级牛逼)
☞ 嗨:IDEA和VSCode都请安装上这个神奇的插件
点分享点点赞点在看