前言
数字化办公日益普及的今天,文件的在线预览成为了企业和个人用户不可或缺的需求。不管是日常办公中的文档、表格、演示文稿,还是专业领域的CAD图纸、3D模型,甚至是医疗影像等特殊格式的文件,能够快速、便捷地进行在线查看显得尤为重要。
本文将推荐一款基于Spring Boot 开发的开源文档在线预览项目,探讨其功能、特点、技术实现及其带来的效果。
项目介绍
一个专注于文件文档在线预览的开源项目,它使用了流行的Spring Boot框架开发,具有易上手和部署的特点。
该项目为用户提供一个万能的文件预览解决方案,支持包括Office文档、PDF、图片、视频、音频在内的多种主流文档格式的在线预览。
另外,kkFileView还支持WPS Office文档、OpenOffice文档、Visio流程图文件、Photoshop软件模型文件等多种特定格式,几乎涵盖了所有常见的文件类型。

项目功能
kkFileView支持广泛的文件格式预览,具体包括但不限于以下几类:
-
支持doc, docx, xls, xlsx, xlsm, ppt, pptx, csv, tsv, dotm, xlt, xltm, dot, dotx,xlam, xla,pages 等Office办公文档
-
支持wps, dps, et, ett, wpt等国产WPS Office办公文档
-
支持odt, ods, ots, odp, otp, six, ott, fodt, fods等OpenOffice、LibreOffice办公文档
-
支持vsd, vsdx等Visio流程图文件
-
支持wmf, emf等Windows系统图像文件
-
支持psd, eps等Photoshop软件模型文件
-
支持pdf, ofd, rtf等文档
-
支持xmind软件模型文件
-
支持bpmn工作流文件
-
支持eml邮件文件
-
支持epub图书文档
-
支持obj, 3ds, stl, ply, gltf, glb, off, 3dm, fbx, dae, wrl, 3mf, ifc, brep, step, iges, fcstd, bim等3D模型文件
-
支持dwg, dxf, dwf, iges , igs, dwt, dng, ifc, dwfx, stl, cf2, plt等CAD模型文件
-
支持txt, xml(渲染), md(渲染), java, php, py, js, css等所有纯文本
-
支持zip, rar, jar, tar, gzip, 7z等压缩包
-
支持jpg, jpeg, png, gif, bmp, ico, jfif, webp等图片预览(翻转,缩放,镜像)
-
支持tif, tiff图信息模型文件
-
支持tga图像格式文件
-
支持svg矢量图像格式文件
-
支持mp3,wav,mp4,flv等音视频格式文件
-
支持avi,mov,rm,webm,ts,rm,mkv,mpeg,ogg,mpg,rmvb,wmv,3gp,ts,swf等视频格式转码预览
-
支持dcm等医疗数位影像预览
-
支持drawio绘图预览
项目特点

1、易上手与部署
基于Spring Boot框架开发,使项目的搭建和部署变得异常简便。
开发只需按照官方文档的指引,即可快速搭建起自己的文档预览服务。
2、跨语言、跨平台支持
通过REST接口提供服务,kkFileView支持多种编程语言(如Java、PHP、Python、Go等)和平台的接入,使得不同技术栈的开发者都能轻松集成这一功能。
3、抽象预览服务接口
提供抽象的预览服务接口,方便开发进行二次开发。无论是添加新的文件格式支持,还是对现有功能进行定制,都能通过简单的接口调用实现。
4、Apache协议开源
kkFileView采用Apache协议开源,代码完全开放。可以自由地拉取代码,进行修改、优化或集成到自己的项目中,无需担心版权问题。
5、持续丰富的文件类型支持
基于当前良好的架构模式,kkFileView支持的文件类型在不断丰富中。
项目技术
技术栈
spring boot
freemarker
redisson
jodconverter
依赖外部环境
redis (可选,默认不用)
OpenOffice 或者 LibreOffice( Windows 下已内置,Linux 脚本启动模式会自动安装,Mac OS 下需要手动安装)
使用步骤
1、pull 项目
2、运行 ServerMain 的 main 方法,服务启动后
3、访问 http://localhost:8012/ 会看到如下界面,代表服务启动成功

项目说明
官网及文档
在线体验
项目文档
项目效果
1、文本预览
支持所有类型的文本文档预览, 由于文本文档类型过多,无法全部枚举,默认开启的类型如下
txt,html,htm,asp,jsp,xml,xbrl,json,properties,md,gitignore,log,java,py,c,cpp,sql,sh,bat,m,bas,prg,cmd

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

3、word文档预览
支持doc,docx文档预览,word预览有两种模式:
一种是每页word转为图片预览,另一种是整个word文档转成pdf,再预览pdf。
两种模式的适用场景如下
图片预览:word文件大,前台加载整个pdf过慢
pdf预览:内网访问,加载pdf快 图片预览模式预览效果如下

pdf预览模式预览效果如下

4、ppt文档预览
支持ppt,pptx文档预览,和word文档一样,有两种预览模式
图片预览模式预览效果如下

pdf预览模式预览效果如下

5、pdf文档预览
支持pdf文档预览,和word文档一样,有两种预览模式
图片预览模式预览效果如下

pdf预览模式预览效果如下

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

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

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

8、多媒体文件预览
理论上支持所有的视频、音频文件,由于无法枚举所有文件格式,默认开启的类型如下
mp3,wav,mp4,flv
视频预览效果如下

音频预览效果如下

9、CAD文档预览
支持CAD dwg文档预览,和word文档一样,有两种预览模式
图片预览模式预览效果如下

pdf预览模式预览效果如下

10、Excel文件纯前端渲染效果

11、流程图bpmn文件预览

12、3D 模型文件预览

13、dcm 医疗数位影像文件预览

14、drawio流程图预览

考虑说明篇幅原因,就不贴其他格式文件的预览效果了,感兴趣的可以参考项目使用进行搭建。
项目源码
Gitee:gitee.com/kekingcn/fi...
总结
kkFileView作为一个开源的文档在线预览解决方案,以其强大的功能、易于使用的界面和灵活的架构赢得了用户的青睐。
不管是大家寻找一种简便的方式来查看不同格式的文件,还是希望集成到现有的系统中以增强其功能,kkFileView都是一个值得考虑的选择。
关键词
kkFileView、Spring Boot、文档在线预览、开源项目、多格式支持、REST接口、易部署、跨平台、二次开发、Apache协议
最后
如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。
也可以加入微信公众号 [DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!
优秀是一种习惯,欢迎大家留言学习!