Project Icon

kkFileView

开源多格式文档在线预览工具

kkFileView是基于Spring Boot的开源文档在线预览项目,支持Office、PDF、图片等多种格式。易于部署和扩展,提供REST API接口。具备水印、加密、视频转码等功能,适用于各类文档预览需求。项目持续优化,旨在提供高效稳定的文档预览解决方案。支持CAD、3D模型等专业文件格式预览,可满足工程设计等领域需求。采用模块化设计,支持自定义文件类型扩展。具备异步处理、缓存清理等特性,适合大规模应用部署。开放API便于与其他系统集成,为开发者提供灵活的文档预览解决方案。

kkFileView

简介

在线文档预览项目解决方案,使用流行的Spring Boot框架构建,易于设置和部署。这个多功能开源项目为广泛的文档格式提供基本支持,包括:

  1. 支持Office文档如docdocxxlsxlsxxlsmpptpptxcsvtsvdotmxltxltmdotxlamdotxxlapages等。
  2. 支持国产WPS Office文档如wpsdpsetettwpt
  3. 支持OpenOffice、LibreOffice办公文档如odtodsotsodpotpsixottfodtfods
  4. 支持Visio流程图文件如vsdvsdx
  5. 支持Windows系统图片文件如wmfemf
  6. 支持Photoshop软件模型文件如psdeps
  7. 支持pdfofdrtf等文档格式。
  8. 支持xmind等软件模型文件。
  9. 支持bpmn工作流文件。
  10. 支持eml邮件文件。
  11. 支持epub电子书文档。
  12. 支持obj3dsstlplygltfglboff3dmfbxdaewrl3mfifcbrepstepigesfcstdbim等3D模型文件。
  13. 支持dwgdxfdwfigesigsdwtdngifcdwfxstlcf2plt等CAD模型文件。
  14. 支持所有纯文本文件如txtxml(渲染)、md(渲染)、javaphppyjscss等。
  15. 支持ziprarjartargzip7z等压缩包。
  16. 支持jpgjpegpnggifbmpicojfifwebp等图片预览(翻转、缩放、镜像)。
  17. 支持tiftiff等图像信息模型文件。
  18. 支持tga等图像格式文件。
  19. 支持svg等矢量图像格式文件。
  20. 支持mp3wavmp4flv
  21. 支持avimovwmvmkv3gprm等多种音视频格式文件。
  22. 支持dcm
  23. 支持drawio

特性

  • 使用流行的Spring Boot框架构建
  • 易于构建和部署
  • 基本支持主流办公文档的在线预览,如Doc、docx、Excel、PDF、TXT、zip、rar、图片等
  • REST API
  • 抽象文件预览接口,便于扩展更多文件扩展名并自行开发此项目

官方网站和文档

网址:https://kkview.cn

在线演示

请善待公共服务,否则随时可能停止。

网址:https://file.kkview.cn

联系我们

我们将认真回答您的问题,并解决您在使用项目过程中遇到的任何问题。我们也恳请您在提问之前至少先Google或百度一下,以节省时间并避免无效沟通。让我们珍惜生命,远离无效沟通。

快速开始

技术栈

依赖

  • Redis(可选,默认不需要)
  • OpenOffice或LibreOffice(Windows上已集成,Linux上会自动安装,Mac OS需手动安装)
  1. 第一步:git pull https://github.com/kekingcn/kkFileView.git

  2. 第二步:运行/server/src/main/java/cn/keking/ServerMain.java的main方法。启动后,访问http://localhost:8012/

更新日志

2022年12月14日,4.1.0版本发布:

  1. 更新了首页设计,由@wsd7747贡献。
  2. 兼容多页tif的pdf和jpg转换以及tif图片预览多页在线预览,由@zhangzhen1979贡献。
  3. 优化了docker构建,使用分层构建方法,由@yl-yue贡献。
  4. 实现了基于userToken缓存的文件加密,由@yl-yue贡献。
  5. 实现了加密Word、PPT和Excel文件的预览,由@yl-yue贡献。
  6. 升级Linux和Docker镜像到LibreOffice 7.3。
  7. 更新了OFD预览组件、tif预览组件,并增加了PPT水印支持。
  8. 其他多项升级、优化和bug修复。 我们感谢@yl-yue、@wsd7747、@zhangzhen1979、@tomhusky、@shenghuadun和@kischn.sun的代码贡献。

2021年7月6日,4.0.0版本发布:

  1. 底层系统集成的OpenOffice已替换为LibreOffice,提高了Office文件的兼容性和预览效果。
  2. 修复了压缩文件中的目录遍历漏洞。
  3. 修复了PDF模式下预览PPT文件无效的问题。
  4. 修复了PPT文件图片预览模式下前端显示异常的问题。
  5. 新增功能:可通过配置实时启用或禁用首页的文件上传功能。
  6. 优化了Office进程关闭的日志记录。
  7. 优化了Windows环境下查找Office组件的逻辑,优先使用内置LibreOffice。
  8. 优化了启动Office进程的同步执行。

2021年6月17日,3.6.0版本发布:

本版本包括对OFD文件类型版本的支持,此次发布中所有重要功能均由社区贡献。我们感谢@gaoxingzaq和@zhangxiaoxiao9527的代码贡献。

  1. 新增对OFD类型文件的预览支持。OFD是一种类似PDF的国产文件格式。
  2. 新增通过ffmpeg转码和预览视频文件的支持。启用转码后,理论上支持预览所有主流视频文件格式,如RM、RMVB、FLV等。
  3. 美化了PPT和PPTX文件类型的预览效果,比上一版本看起来好多了。
  4. 更新了pdfbox、xstream、common-io等依赖的版本。

2021年1月28日:

2020农历新年的最后一次更新已发布,主要包括一些UI改进、修复QQ群用户报告的bug和问题,最重要的是,这是迎接新年的新版本。

  1. 引入 galimatias 解决非标准文件名导致的异常文件下载问题。
  2. 更新了索引访问演示界面的 UI 样式。
  3. 更新了 markdown 文件预览的 UI 样式。
  4. 更新了 XML 文件预览的 UI 样式,调整了文本文件预览的架构以便于扩展。
  5. 更新了 simTxT 文件预览的 UI 样式。
  6. 调整了多图连续预览的 UI,改为上下翻页。
  7. 采用 apache-common-io 包简化了所有文件下载 IO 操作。
  8. XML 文件预览支持切换到纯文本模式。
  9. 增强了 url base64 解码失败时的提示信息。
  10. 修复了导入错误和图片预览 bug。
  11. 修复了运行发布包时缺少日志目录的问题。
  12. 修复了压缩包中多图连续预览的 bug。
  13. 修复了文件类型后缀大小写不通用匹配的问题。
  14. 指定使用 Apache Commons-code 实现进行 Base64 编码,解决某些 JDK 版本出现异常的问题。
  15. 修复了类文本文件 HTML 文件预览的 bug。
  16. 修复了预览 dwg 文件时无法在 jpg 和 pdf 之间切换的问题。
  17. 对危险字符进行转义,防止反射型 xss。
  18. 修复了重复编码导致文档转图片预览失败的问题,并规范了编码。

2020年12月27日:

2020年末重大更新,包括全面的架构设计、完整的代码重构、代码质量显著提升,更方便进行二次开发。欢迎大家审阅源码,提 issues 和 pull requests 参与建设。

  1. 调整架构模块,大幅重构代码,代码质量提升数个档次,欢迎审阅。
  2. 增强 XML 文件预览效果,新增 XML 文档结构预览。
  3. 新增 markdown 文件预览支持,包括 md 渲染和源文本与预览切换支持。
  4. 底层 web 服务器切换为 jetty,解决问题:https://github.com/kekingcn/kkFileView/issues/168
  5. 引入 cpdetector 解决文件编码识别问题。
  6. 采用 base64 和 urlencode 双重编码 URL,彻底解决奇葩文件名预览问题。
  7. 新增配置项 office.preview.switch.disabled 控制 office 文件预览开关。
  8. 优化文本文件预览逻辑,通过 Base64 传输内容,避免预览时再次请求文件内容。
  9. 关闭 office 预览模式下的图片缩放效果,实现与图片、pdf 预览一致的体验。
  10. 直接设置 pdfbox 兼容低版本 JDK,在 IDEA 中运行也不会有警告提示。
  11. 移除非必要工具包如 Guava、Hutool,减小代码体积。
  12. Office 组件异步加载,加快应用启动速度至5秒内。
  13. 合理设置预览消费队列的线程数。
  14. 修复压缩包内的文件再次预览失败的 bug。
  15. 修复图片预览的 bug。

2020年5月20日:

  1. 支持全局水印和通过参数动态改变水印内容
  2. 支持 CAD 文件预览
  3. 新增配置项 base.url,支持使用 nginx 反向代理和设置 context-path
  4. 所有配置项支持从环境变量中读取,方便 docker 镜像部署和集群中大规模使用
  5. 支持配置信任站点(只允许预览来自信任站点的文件源),保护预览服务不被滥用
  6. 支持配置自定义缓存清理时间(cron 表达式)
  7. 所有类型的文本可直接预览,无需下载,如 .md .java .py 等
  8. 支持配置限制 PDF 文件转换后下载
  9. 优化 Maven 打包配置,解决 .sh 脚本换行问题
  10. 将前端所有 CDN 依赖放到本地,方便没有外网连接的用户使用
  11. 首页注释由搜狐畅言切换为 gitalk
  12. 修复 URL 中包含特殊字符可能导致的预览异常
  13. 修复转换文件队列addtask异常
  14. 修复其他已知问题
  15. 官网建设:https://kkview.cn
  16. 官方 docker 镜像仓库建设:https://hub.docker.com/r/keking/kkfileview

2019年6月18日:

  1. 支持自动清理缓存及预览文件
  2. 支持 http/https 流式 url 文件预览
  3. 支持 FTP url 文件预览
  4. 新增 Docker 构建

2019年4月8日:

  1. 缓存及队列实现抽象,提供 JDK 和 REDIS 两种实现(REDIS 成为可选依赖)
  2. 提供 zip 包及一键启动脚本,简化部署

2018年1月17日:

  1. 精简项目目录,抽象文件预览接口,方便扩展更多文件类型预览
  2. 新增英文文档说明(@幻幻Fate,@汝辉 贡献)
  3. 支持更多图片文件扩展名预览
  4. 修复 ZIP 文件预览时图片总是从第一张开始的问题

2018年1月12日:

  1. 新增多图片同时预览
  2. 支持压缩包内图片轮番预览

2018年1月2日:

  1. 修复 txt 等文本编码问题导致的预览乱码
  2. 修复项目模块依赖引入问题
  3. 新增 spring boot profile,支持多环境配置
  4. 引入 pdf.js 预览 doc 等文档类型文件,支持生成 doc 文件目录大纲,支持手机端预览

赞助我们

如果本项目对您有帮助,欢迎赞助。您的支持是我们最大的动力!

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号