SpringBoot实现万能文件在线预览,已开源

以下内容来自公众号逆锋起笔,关注每日干货及时送达 :point_down:

推荐一个用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 下来想干嘛就干嘛

官网及文档

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

在线体验

会不定时停用

地址: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

文本预览效果如下

文本预览效果如下

2. 图片预览

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

图片预览

3. word文档预览

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

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

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

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

word文档预览1

pdf预览模式预览效果如下

word文档预览2

4. ppt文档预览

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

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

ppt文档预览1

pdf预览模式预览效果如下

ppt文档预览2

5. pdf文档预览

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

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

pdf文档预览1

pdf预览模式预览效果如下

pdf文档预览2

6. excel文档预览

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

excel文档预览

7. 压缩文件预览

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

压缩文件预览1

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

压缩文件预览2

8. 多媒体文件预览

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

mp3,wav,mp4,flv

视频预览效果如下

多媒体文件预览1

音频预览效果如下

多媒体文件预览2

9. CAD文档预览

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

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

cad文档预览1

pdf预览模式预览效果如下

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/ 会看到如下界面,代表服务启动成功

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot与Minio结合可以实现文件预览功能。Minio是一个开源的对象存储服务器,可以很方便地进行文件上传和下载。在Spring Boot项目中集成Minio,可以使用Minio提供的API进行文件操作,如上传、下载、删除等。 为了实现文件预览功能,首先需要在Spring Boot项目中引入Minio的依赖,并配置Minio相关的参数,包括连接地址、用户名和密码等。可以使用Minio客户端库或者直接调用Minio的RESTful API进行文件的操作。 在文件上传时,可以将文件保存到Minio服务器中,并将返回的文件访问路径保存到数据库或者其他地方。在文件预览时,可以根据文件的访问路径将文件内容展示在前端页面上,或者通过Minio提供的预览功能进行文件预览。 需要注意的是,在部署Minio服务器时,需要有两台Linux服务器,每台服务器挂载两块硬盘作为Minio节点。具体的部署过程包括分区、格式化、挂载到指定文件夹。有关具体的部署步骤和命令,可以参考相关的文档或者教程。 综上所述,通过在Spring Boot项目中集成Minio,并配置相关参数,可以实现文件预览功能。文件上传时保存文件到Minio服务器,文件预览时通过文件的访问路径展示文件内容。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [文件服务器mino实现文件存储和文件预览接口](https://download.csdn.net/download/song12345xiao/86261449)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [springboot整合minio实现文件上传下载](https://blog.csdn.net/weixin_41964243/article/details/127832843)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值