1
头图

大家好,我是 Java陈序员

我们在工作中,经常需要与文件上传下载进行打交道。甚至有时候要实现文件预览功能。

如果是一两种的文件类型,我们或许可以借助一些插件完成工作,那么如果是要适配各式各样的文件类型呢?

今天,给大家介绍一个支持预览多种文件类型的开源项目 —— kkFileView.

项目介绍

kkFileView 是一个基于 SpringBoot 实现文档在线预览的开源项目,基本支持主流办公文档(WordPPTExcelPdf 等)的在线预览。

项目特性:

  • 基于 SpringBoot 实现,开箱即用
  • 提供丰富的 Restful 接口服务
  • 支持 http/https/ftp/文件流等多种预览源
  • 统一的预览服务接口,方便二次开发
  • 支持 Docker 部署

支持多种文件类型,目前已支持:
支持的文件类型

项目地址:

https://github.com/kekingcn/kkFileView

在线体验:

https://file.kkview.cn/

在线文档:

https://kkfileview.keking.cn/zh-cn/docs/home.html

功能预览

文本预览

文本预览不仅支持预览 .txt,而且 .html.js.xml.json.yaml.java.py.cpp 等也是支持的!

预览 txt

图片预览

支持 jpgjpegpnggif 等图片预览,并可以放大、缩小、旋转图片!

预览图片

Pdf 预览

Pdf 预览支持两种格式

图片模式

预览 Pdf —— 图片模式

PDF 格式
预览 Pdf —— PDF 模式

Excel 预览

预览 Excel

Word 预览

Word 预览预览有两种模式:

  • 每页 Word 转为图片预览:Word 文件大,前台加载整个 PPT 过慢
  • 整个 Word 文档转成 PPT,再预览 PPT:内网访问,加载 PPT

预览 Word —— 图片模式

预览 Word —— PDF 模式

PPT 预览

预览 PPT

多媒体预览

理论上支持所有的视频、音频文件,默认开启的类型:mp3wavmp4flv,可通过配置文件指定多媒体类型

预览视频

压缩包预览

支持 ziprarjartargzip 等压缩包。

可点击压缩包中的文件名,直接预览文件!

预览压缩包

安装使用

环境准备

  • Java: 1.8+
  • LibreOfficeOpenOffice(Windows 下已内置,CentOSUbuntu 下会自动下载安装,MacOS 下需要自行安装)

Docker 安装

拉取镜像:

docker pull keking/kkfileview:4.1.0

启动运行:

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

成功启动后,访问容器 8012 端口 http://127.0.0.1:8012.

或者使用 nginx 进行反向代理:

 server {
    listen 80;
    server_name chencoding.top; 

    location / {
        proxy_pass http://localhost:8012;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

nginx 配置成功后,浏览器访问:http://ip:端口 或者 http://域名:端口

最后

推荐的开源项目已经收录到 GitHub 项目,欢迎 Star

https://github.com/chenyl8848/great-open-source-project

或者访问网站,进行在线浏览:

https://chencoding.top:8090/#/
大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!

Java陈序员
61 声望8 粉丝