kk文件视图
介绍
文档在线预览项目解决方案,使用流行的 Spring Boot 框架构建,可轻松设置和部署。这个多功能的开源项目为各种文档格式提供基本支持,包括:
- 支持 Office 文档,如
doc
、 docx
、 xls
、 xlsx
、 xlsm
、 ppt
、 pptx
、 csv
、 tsv
、 、 dotm
、 xlt
、 xltm
、 dot
、 xlam
、 dotx
、 xla,
、 pages
等。 - 支持
wps
、 dps
、 et
、 ett
、 wpt
等国内WPS Office文档。 - 支持 OpenOffice、LibreOffice 办公文档,如
odt
、 ods
、 ots
、 odp
、 otp
、 six
、 ott
、 fodt
和fods
。 - 支持
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
、 wmv
、 mkv
、 3gp
和rm
。 - 支持
dcm
。 - 支持
drawio
。
特征
- 使用流行的框架弹簧靴构建
- 易于构建和部署
- 基本支持主流办公文档在线预览,如Doc、docx、Excel、PDF、TXT、zip、rar、图片等
- 休息API
- 抽象的文件预览界面,方便自己扩展更多的文件扩展名和开发本项目
官方网站和文档
网址:https://kkview.cn
现场演示
请善待公共服务,否则这种情况随时都会停止。
网址:https://file.kkview.cn
联系我们
我们将认真解答您的疑问并解决您在使用项目过程中遇到的任何问题。我们也恳请您在提问之前至少谷歌或百度一下,以节省时间并避免无效的沟通。让我们珍惜自己的生命,远离无效的沟通。
快速入门
技术栈
- Spring Boot: Spring Boot开发参考指南
- 自由标记
- 雷迪森
- 乔德转换器
依赖关系
- Redis(可选,默认不需要)
- OpenOffice 或 LibreOffice(Windows 上集成,Linux 上会自动安装,Mac OS 上需要手动安装)
第一步: git pull https://github.com/kekingcn/kkFileView.git
第二步:运行/server/src/main/java/cn/keking/ServerMain.java
的 main 方法。启动后访问http://localhost:8012/
。
变更日志
2022年12月14日,4.1.0版本发布:
- 由@wsd7747更新了主页设计。
- 兼容多页tif进行pdf和jpg转换以及@zhangzhen1979的tif图像预览的多页在线预览。
- 优化了 docker 构建,使用 @yl-yue 的分层构建方法。
- @yl-yue 基于 userToken 缓存实现了文件加密。
- 由 @yl-yue 实现了加密 Word、PPT 和 Excel 文件的预览。
- 将 Linux 和 Docker 映像升级到 LibreOffice 7.3。
- 更新了OFD预览组件、tif预览组件,增加了对PPT水印的支持。
- 许多其他升级、优化和错误修复。我们感谢@yl-yue、@wsd7747、@zhangzhen1979、@tomhusky、@shenghuadun 和@kischn.sun 贡献的代码。
2021年7月6日,4.0.0版本发布:
- 底层系统中OpenOffice的集成已替换为LibreOffice,从而增强了兼容性并改善了Office文件的预览效果。
- 修复压缩文件中的目录遍历漏洞。
- 修复PDF模式下预览PPT文件无效的问题。
- 修复PPT文件图片预览模式前端显示异常的问题。
- 新增功能:可通过配置实时开启或关闭首页文件上传功能。
- 优化Office进程关闭的日志记录。
- 优化Windows环境下查找Office组件的逻辑,内置LibreOffice优先。
- 优化启动Office进程的同步执行。
2021年6月17日,3.6.0版本发布:
该版本包括对 OFD 文件类型版本的支持,并且该版本中的所有重要功能均由社区贡献。我们感谢@gaoxingzaq 和@zhangxiaoxiao9527 贡献的代码。
- 添加了对预览 OFD 类型文件的支持。 OFD是一种类似于PDF的国产文件格式。
- 添加了对通过 ffmpeg 转码和预览视频文件的支持。启用转码后,理论上支持RM、RMVB、FLV等所有主流视频文件格式进行预览。
- 美化了PPT、PPTX文件类型的预览效果,比之前的版本好看很多。
- 更新了pdfbox、xstream、common-io等依赖的版本。
2021 年 1 月 28 日:
2020年农历新年最终更新已经发布,主要包括一些UI改进、QQ群用户反馈的Bug修复和问题,最重要的是,这是一个美好的一年的新版本。
- 引入galimatias,解决文件名不标准导致文件下载异常的问题。
- 更新了索引访问演示界面的UI风格。
- 更新了 Markdown 文件预览的 UI 风格。
- 更新了XML文件预览的UI风格,调整了文本文件预览的架构以方便扩展。
- 更新了 simTxT 文件预览的 UI 风格。
- 调整多图连续预览的UI为上下翻转。
- 采用 apache-common-io 包简化了所有文件下载 IO 操作。
- XML文件预览支持切换到纯文本模式。
- 增强了url base64解码失败时的提示信息。
- 修复了导入错误和图像预览错误。
- 修复运行release包时缺少日志目录的问题。
- 修复了压缩包内多张图片连续预览的bug。
- 修复文件类型后缀大小写不通用匹配的问题。
- 指定使用 Apache Commons-code 实现进行 Base64 编码来修复某些 JDK 版本中发生的异常。
- 修复了类似文本文件的 HTML 文件预览的错误。
- 修复了预览 dwg 文件时无法在 jpg 和 pdf 之间切换的问题。
- 对危险字符进行转义以防止反射 xss。
- 修复重复编码导致文档转图像预览失败的问题,规范编码。
2020 年 12 月 27 日:
2020年年终重大更新包括全面的架构设计、完整的代码重构、代码质量显着提升、二次开发更加便捷。我们欢迎您查看源代码并通过提出问题和拉取请求来为构建做出贡献。
- 调整架构模块,大规模重构代码,代码质量提升多个级别。请随时查看。
- 增强了XML文件预览效果,增加了XML文档结构的预览。
- 添加了对 Markdown 文件预览的支持,包括对 md 渲染以及源文本和预览之间切换的支持。
- 将底层Web服务器切换到jetty,解决问题:#168
- 引入cpDetector来解决文件编码识别问题。
- 对URL采用base64和urlencode双重编码,彻底解决文件名奇怪的预览问题。
- 新增配置项office.preview.switch.disabled控制office文件预览的切换。
- 优化文本文件预览逻辑,通过Base64传输内容,避免预览时再次请求文件内容。
- 关闭office预览模式下的图片缩放效果,实现图片和pdf预览的一致体验。
- 直接设置pdfbox兼容低版本JDK,即使在IDEA中运行也不会出现警告提示。
- 删除了 Guava 和 Hutool 等非必要工具包,以减少代码量。
- Office 组件的异步加载可将应用程序启动速度加快到 5 秒之内。
- 合理设置预览消费队列的线程数。
- 修复压缩包内文件无法再次预览的问题。
- 修复了图像预览的错误。
2020年5月20日:
- 支持全局水印以及通过参数动态改变水印内容
- 支持 CAD 文件预览
- 添加配置项base.url,支持使用nginx反向代理并设置context-path
- 所有配置项都可以从环境变量中读取,方便docker镜像部署和集群大规模使用
- 支持TrustHost配置(只能预览来自信任站点的文件源),保护预览服务不被滥用
- 支持自定义缓存清理时间配置(cron表达式)
- 所有可识别的纯文本无需下载即可直接预览,如.md .java .py等
- 支持配置限制转换后PDF文件下载
- 优化Maven打包配置,解决.sh脚本换行问题
- 将所有 CDN 依赖放在前端本地,供无外网连接的用户使用
- 首页评论服务由搜狐畅言切换至gitalk
- 修复了 URL 中的特殊字符可能导致的预览异常
- 修复转换文件队列addtask异常
- 修复了其他已知问题
- 官网搭建:https://kkview.cn
- 官方 docker 镜像存储库构建:https://hub.docker.com/r/keking/kkfileview
2019年6月18日:
- 支持自动清理缓存和预览文件
- 支持http/https流url文件预览
- 支持FTP url文件预览
- 添加 Docker 构建
2019 年 4 月 8 日
- 缓存和队列实现抽象,提供JDK和REDIS实现(REDIS成为可选依赖)
- 提供zip和tar.gz包,并提供一键启动脚本
2018 年 1 月 17 日
- 细化了项目目录,抽象文件预览界面,方便扩展更多文件扩展名,自行解构该项目
- 添加英文文档(@幻幻Fate,@汝辉)贡献
- 支持更多图像文件扩展名
- 修复了 zip 文件中的图像轮播始终从第一个开始的问题
2018 年 1 月 12 日
- 支持多图片预览
- 支持 rar/zip 中的图像旋转预览
2018 年 1 月 2 日
- 修复由于文件编码问题导致预览txt文档乱码的问题
- 修复部分模块依赖找不到的问题
- 添加spring boot配置文件,并支持多环境配置
- 添加
pdf.js
预览doc等文档,支持生成doc标题为pdf菜单,支持手机预览
赞助我们
如果这个项目对您有所帮助,我们欢迎您的赞助。您的支持是我们最大的动力!