Spring Boot 实现万能文件在线预览,已开源,真香!!

点击上方“Java基基”,选择“设为星标”

做积极的人,而不是积极废人!

每天 14:00 更新文章,每天掉亿点点头发...

源码精品专栏

 

来源:网络


推荐一个用Spring Boot搭建的文档在线预览解决方案:

kkFileView,一款成熟且开源的文件文档在线预览项目解决方案,对标业内付费产品有【永中office】【office365】【idocv】等,免费!

项目特性

  1. 支持 office, pdf, cad 等办公文档

  2. 支持 txt, xml(渲染), md(渲染), java, php, py, js, css 等所有纯文本

  3. 支持 zip, rar, jar, tar, gzip 等压缩包

  4. 支持 jpg, jpeg, png, gif, tif, tiff 等图片预览(翻转,缩放,镜像)

  5. 使用 spring-boot 开发,预览服务搭建部署非常简便

  6. rest 接口提供服务,跨语言、跨平台特性(java,php,python,go,php,....)都支持,应用接入简单方便

  7. 抽象预览服务接口,方便二次开发,非常方便添加其他类型文件预览支持

  8. 最最重要 Apache 协议开源,代码 pull 下来想干嘛就干嘛

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/ruoyi-vue-pro

  • 视频教程:https://doc.iocoder.cn/video/

官网及文档

地址:https://kkfileview.keking.cn

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/yudao-cloud

  • 视频教程:https://doc.iocoder.cn/video/

在线体验

会不定时停用

地址:https://file.keking.cn

项目文档(Project documentation)

  1. 详细wiki文档:https://gitee.com/kekingcn/file-online-preview/wikis/pages

  2. 中文文档:https://gitee.com/kekingcn/file-online-preview/blob/master/README.md

  3. English document:https://gitee.com/kekingcn/file-online-preview/blob/master/README.en.md

文档预览效果

1. 文本预览

支持所有类型的文本文档预览, 由于文本文档类型过多,无法全部枚举,默认开启的类型如下 txt,html,htm,asp,jsp,xml,json,properties,md,gitignore,log,java,py,c,cpp,sql,sh,bat,m,bas,prg,cmd

文本预览效果如下

94afb080017ed8d1cc276509f8118043.png
文本预览效果如下

2. 图片预览

支持jpg,jpeg,png,gif等图片预览(翻转,缩放,镜像),预览效果如下

format,png
图片预览

3. word文档预览

支持doc,docx文档预览,word预览有两种模式:一种是每页word转为图片预览,另一种是整个word文档转成pdf,再预览pdf。两种模式的适用场景如下

  • 图片预览:word文件大,前台加载整个pdf过慢

  • pdf预览:内网访问,加载pdf快

图片预览模式预览效果如下

d6a6cc0042bfe0d9af2325a645689df2.png
word文档预览1

pdf预览模式预览效果如下

f64c6894500301e3bf78c780b24ac8bf.png
word文档预览2

4. ppt文档预览

支持ppt,pptx文档预览,和word文档一样,有两种预览模式

图片预览模式预览效果如下

37162b2ca5fa22667e617e5ccaaaef62.png
ppt文档预览1

pdf预览模式预览效果如下

fd63115160b1f6332c50feb7ff6c87bb.png
ppt文档预览2

5. pdf文档预览

支持pdf文档预览,和word文档一样,有两种预览模式

图片预览模式预览效果如下

c8cef1eb36d52a14671c8d32479c998b.png
pdf文档预览1

pdf预览模式预览效果如下

6ca10245984999bf52a300082e2b92c6.png
pdf文档预览2

6. excel文档预览

支持xls,xlsx文档预览,预览效果如下

f9b0b07c665f4a098dee23a8172b12dc.png
excel文档预览

7. 压缩文件预览

支持zip,rar,jar,tar,gzip等压缩包,预览效果如下

0d34e720496eb764490c925dd7b8ec41.png
压缩文件预览1

可点击压缩包中的文件名,直接预览文件,预览效果如下

7e9504905194675e32fe21c9dceaf41e.png
压缩文件预览2

8. 多媒体文件预览

理论上支持所有的视频、音频文件,由于无法枚举所有文件格式,默认开启的类型如下

mp3,wav,mp4,flv

视频预览效果如下

aabb699609e31741ab8fad2563c20551.png
多媒体文件预览1

音频预览效果如下

5bd9669d16fb378adc9427cc3d8d43cf.png
多媒体文件预览2

9. CAD文档预览

支持CAD dwg文档预览,和word文档一样,有两种预览模式

图片预览模式预览效果如下

a973586ed6288715a3767235ea2322f2.png
cad文档预览1

pdf预览模式预览效果如下

1feded695e10ec53504dd1262c4d634d.png
cad文档预览2

考虑说明篇幅原因,就不贴其他格式文件的预览效果了,感兴趣的可以参考下面的实例搭建下

使用

项目使用技术

  • spring boot

  • freemarker

  • redisson

  • jodconverter

依赖外部环境

  • redis (可选,默认不用)

  • OpenOffice 或者 LibreOffice( Windows 下已内置,Linux 脚本启动模式会自动安装,Mac OS 下需要手动安装)

  1. 第一步:pull 项目 https://github.com/kekingcn/file-online-preview.git

  2. 第二步:运行 ServerMain 的 main 方法,服务启动后,访问 http://localhost:8012/ 会看到如下界面,代表服务启动成功

dbccaa42dfdb436fcc8c53baa70020f8.png

欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢

aa929027f3d010b212fe5526773218c1.png

已在知识星球更新源码解析如下:

25accb8eca8c5cbef6c8c937c174baa5.jpeg

87f5aec9ce7a72c7fcfc5021a5ffa425.jpeg

30111241cf489b312cc04bcf78ab4841.jpeg

8c4dd5623efc86bf3d4a7abfe7d4a386.jpeg

最近更新《芋道 SpringBoot 2.X 入门》系列,已经 101 余篇,覆盖了 MyBatis、Redis、MongoDB、ES、分库分表、读写分离、SpringMVC、Webflux、权限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能测试等等内容。

提供近 3W 行代码的 SpringBoot 示例,以及超 6W 行代码的电商微服务项目。

获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)