分享一个开箱即用、格式支持全面的文件在线预览开源项目

2020-11-06 13:23:40 +08:00
 chenjh

项目简介

此项目为文件文档在线预览的开源项目,项目使用流行的Spring Boot搭建,易上手和部署,基本支持主流办公文档的在线预览,如 doc, docx, Excel, pdf, txt, zip, rar, 图片, dwg 等等

相关资源

官网: https://kkfileview.keking.cn

码云: https://gitee.com/kekingcn/file-online-preview

github: https://github.com/kekingcn/kkFileView)

dockerhub: https://hub.docker.com/r/keking/kkfileview

项目特性

  1. 支持 word excel ppt,pdf 等办公文档
  2. 支持 txt,java,php,py,md,js,css 等所有纯文本
  3. 支持 zip,rar,jar,tar,gzip 等压缩包
  4. 支持 jpg,jpeg,png,gif 等图片预览(翻转,缩放,镜像)
  5. 支持 mp3,mp4,flv 等多媒体文件预览
  6. 使用 spring boot 开发,预览服务搭建部署非常简便
  7. rest 接口提供服务,跨平台特性(java,php,python,go,php,....)都支持,应用接入简单方便
  8. 支持普通 http/https 文件下载 url 、http/https 文件下载流 url 、ftp 下载 url 等多种预览源
  9. 提供 zip,tar.gz 发行包,提供一键启动脚本和丰富的配置项,方便部署使用
  10. 提供 Docker 镜像发行包,方便在容器环境部署
  11. 抽象预览服务接口,方便二次开发,非常方便添加其他类型文件预览支持
  12. 最最重要 Apache 协议开源,代码 pull 下来想干嘛就干嘛

预览展示

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 。两种模式的适用场景如下

4. ppt 文档预览

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

pdf 预览模式预览效果如下

5. pdf 文档预览

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

pdf 预览模式预览效果如下

6. excel 文档预览

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

ps,如碰到 excel 预览乱码问题,可参考 预览乱码

7. 压缩文件预览

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

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

8. 多媒体文件预览

理论上支持所有的视频、音频文件,由于无法枚举所有文件格式,默认开启的类型如下
mp3,wav,mp4,flv
如有没有未覆盖全面,可通过配置文件指定多媒体类型
视频预览效果如下

音频预览效果如下

9. CAD 文档预览

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

pdf 预览模式预览效果如下

3936 次点击
所在节点    分享创造
11 条回复
suley
2020-11-06 13:26:16 +08:00
缺点是没针对移动端做优化
chenjh
2020-11-06 13:34:10 +08:00
@suley 移动端适配在路上了
SelectLanguage
2020-11-06 13:36:49 +08:00
OFFICE 的预览是怎么实现的
chenjh
2020-11-06 13:39:14 +08:00
@SelectLanguage 基本 LibreOffice 或 OpenOffice,集成在项目中了,可以试试看 https://kkfileview.keing.cn
chenjh
2020-11-06 13:39:48 +08:00
@SelectLanguage 基于 LibreOffice 或 OpenOffice,集成在项目中了,可以试试看 https://kkfileview.keking.cn
mawangye
2020-11-06 18:28:04 +08:00
后续是否增加矢量图文件的预览?
minamike
2020-11-07 08:26:53 +08:00
CAD 预览是只能预览保存时显示的那一块还是可以拖动缩放
yibie
2020-11-08 09:58:40 +08:00
很棒,收藏
40EaE5uJO3Xt1VVa
2020-11-08 15:59:48 +08:00
厉害
chenjh
2020-11-09 15:09:20 +08:00
@minamike 是一个完整的大图,图片可以缩放
tzl
2020-11-10 11:46:06 +08:00
厉害,毕设云盘也弄了文件预览,对于 dwg 没找到合适前端插件,结果也弄成 pdf 处理了,收藏学习一波~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/722370

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX