应用介绍
kkFileView 是一款基于Spring Boot开发的开源通用文档在线预览项目,为NAS服务器提供了一站式文档预览解决方案,支持多达200+种文件格式的在线预览,无需下载到本地即可直接在浏览器中查看文档内容,极大提升了文件分享和协作效率。
kkFileView 支持的文件格式非常全面:
- 办公文档:doc、docx、xls、xlsx、ppt、pptx、csv、wps、odt、ods等几乎所有主流办公格式,还支持国产OFD格式预览
- 设计文档:psd、eps、cad格式(dwg, dxf)、xmind流程图、bpmn工作流文件
- 电子书:epub、mobi(需转换)支持,满足个人电子书库预览需求
- 媒体文件:jpg、png、gif、webp、heic等图片格式,mp3、mp4、avi等音视频格式
- 3D模型:obj、stl、gltf、glb等常见3D模型格式预览
- 压缩文件:zip、rar、7z、tar.gz等压缩包,支持在线浏览压缩包内文件结构
- 源代码:支持所有主流编程语言纯文本文件语法高亮预览
项目基于Spring Boot开发,部署简单,扩展方便,提供REST API可以集成到你自己的应用中,抽象的文件预览接口方便开发者扩展支持更多文件格式,非常适合部署在私有NAS中作为文档预览服务。
安装说明
前提依赖
kkFileView 依赖 LibreOffice 进行文档格式转换,在Docker镜像中已经内置了LibreOffice,所以使用Docker部署无需额外安装依赖。手动部署需要提前安装JDK 21+和LibreOffice。
安装配置
使用Docker Compose一键部署:
version: '3'
services:
kkfileview:
image: keking/kkfileview:latest
container_name: kkfileview
ports:
- "8012:8012"
volumes:
- ./data:/opt/kkFileView/data
restart: unless-stopped
environment:
- JAVA_OPTS=-Xmx1G
说明:
- 端口`8012`默认即可,可以根据需要修改
- 内存分配建议至少1GB,文档转换比较消耗内存,如果经常转换大文档可以分配更多内存
- Redis是可选依赖,默认不需要,多实例部署才需要Redis做缓存
使用说明
部署完成后访问 `http://你的NASIP:8012` 即可进入kkFileView首页,你可以直接上传文件进行预览,也可以通过URL参数传递远程文件地址进行预览。
基础使用方式: 1. 本地上传预览:点击首页上传区域,选择要预览的文件,上传完成自动跳转预览页面 2. 远程URL预览:通过URL参数传入文件地址:`http://你的域名:8012/onlinePreview?url=编码后的文件地址`,方便在其他系统中集成调用
kkFileView 会自动缓存转换后的文档,下次预览相同文件无需重新转换,提升访问速度,支持自动清理过期缓存文件,节省磁盘空间。
支持开启密码保护,限制未授权用户访问,支持配置上传文件类型黑白名单,提高系统安全性,对于企业内部文档分享场景非常实用。
开源信息
- GitHub 地址:https://github.com/kekingcn/kkFileView
- 官方网站:https://kkview.cn
- Docker镜像:https://hub.docker.com/r/keking/kkfileview
- 项目文档:https://github.com/kekingcn/kkFileView/wiki