查看原文
其他

牛逼!一个基于Springboot开发的文件在线预览系统已开源,支持压缩包、doc、ppt等~

忆蓉之心 Java面试那些事儿 2021-09-06

最近,有位同学问我,他跟朋友接了一个外包项目,其中有一个需求,需要实现文件在线预览的功能,问我有没有好的解决方案?

肯定有啊,我前段时间才用过一个~


我的这个还比较成熟,有一些公司也在用,它是基于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安装,直接两行命令,就ok了~

docker pull keking/kkfileview
docker run -it -p 8012:8012 keking/kkfileview

通过浏览器,访问容器的8012端口,便可以显示演示页面了。


# 项目结构


利用Maven进行构建的web项目

如果需要读源码的同学,建议入口开始搞起,入口见下图

接下来,重点放在core包,找到自己需要的部分去集成~


项目地址:https://gitee.com/kekingcn/file-online-preview


希望本文对你有所帮助,点个“在看”,支持一波吧~




最后,推荐给大家一个有趣有料的公众号:程序员Tools,该公众号主要为大家分享有趣有料的开发者工具,还有老鬼给你带路,永不迷路~

扫描关注,永不迷路


点击阅读原文,获得更多精彩内容!

: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存