开源文件预览与Office在线编辑的强大解决方案

  • 时间:2025-12-03 22:27 作者: 来源: 阅读:1
  • 扫一扫,手机访问
摘要:kkFileViewOfficeEdit 是一个基于 Spring Boot 框架开发的文件在线预览和 Office 文档在线编辑解决方案。它是 kkFileView(https://github.com/kekingcn/kkFileView)的衍生项目,专注于提供更强劲的 Office 文档编辑功能,同时保留了原项目强劲的文件预览能力。项目使用 Java 开发,采用 Apache-2.0 许可

开源文件预览与Office在线编辑的强劲解决方案



开源文件预览与Office在线编辑的强劲解决方案


kkFileViewOfficeEdit 是一个基于 Spring Boot 框架开发的文件在线预览和 Office 文档在线编辑解决方案。它是 kkFileView
https://github.com/kekingcn/kkFileView)的衍生项目,专注于提供更强劲的 Office 文档编辑功能,同时保留了原项目强劲的文件预览能力。项目使用 Java 开发,采用 Apache-2.0 许可证,支持多种文件格式的在线预览和 Office 文档的在线编辑,适合企业或个人搭建文档管理系统。

该项目通过集成 OpenOfficeLibreOffice,结合 Jodconverter 库,实现文档的预览和转换功能,同时支持通过回调机制保存编辑后的文档。它的设计目标是简单易用、易于部署,并提供 REST API 以便于与其他系统集成。

核心功能

  1. 文件在线预览
  2. 支持主流 Office 文档格式(如 doc、docx、xls、xlsx、ppt、pptx)以及其他文件类型(如 PDF、TXT、ZIP、RAR、图片、音视频等)。
  3. 支持特殊格式文件,如 OFD(国产类似 PDF 格式)、XMind、DWG、3D 模型文件等。
  4. 提供图片预览功能,支持翻转、缩放、镜像等操作。
  5. 支持多页 TIFF 文件的 PDF 和 JPG 转换,以及多页在线预览。
  6. Office 文档在线编辑
  7. 支持 Word、Excel 和 PPT 文件的在线编辑。
  8. 编辑后的文档可以通过回调地址保存到指定服务器,适合与现有系统集成。
  9. 通过 URL 参数传递文件地址和回调地址,编辑完成后返回新生成的文档下载地址。
  10. 易于扩展
  11. 项目提供了抽象的文件预览接口,开发者可以轻松扩展支持更多文件格式。
  12. 支持 REST API,方便与其他系统对接。
  13. 安全性和配置
  14. 支持文件加密预览(如基于 userToken 缓存的加密 Word、Excel、PPT 文件)。
  15. 提供高风险文件上传限制(如禁止上传 EXE 文件)。
  16. 新增预览文件 host 黑名单机制,增强安全性。
  17. 其他优化
  18. 支持 GZIP 压缩,优化文件传输效率。
  19. 支持 ARM64 架构的 Docker 镜像,适配更多部署环境。
  20. 优化了 Office 进程关闭日志记录和 Windows 环境中 Office 组件查找逻辑。

技术栈

  • 后端:Spring Boot(版本 2.4.2)
  • 文件转换:Jodconverter(版本 4.4.6),依赖 OpenOffice 或 LibreOffice
  • 缓存:Redisson(版本 3.2.0,可选 Redis)
  • 依赖管理:Maven
  • 其他库:PDFBox(3.0.2)、Apache Commons IO、XStream 等
  • 前端:Freemarker 用于页面渲染

快速开始

  1. 拉取代码
  2. git clone https://github.com/YiJiuSmile/kkFileViewOfficeEdit.git
  3. 配置环境
  4. 确保安装 Java 8 及以上版本。
  5. Windows 下已内置 LibreOffice,Linux 下会自动安装,Mac OS 需要手动安装。
  6. (可选)配置 Redis 用于缓存。
  7. 修改配置文件(如 application-prod.properties),设置文件存储路径:
  8. file.dir=C:/Users/yourname/Desktop/dev/
  9. 运行项目
  10. 运行 server/src/main/java/cn/keking/ServerMain.java 的 main 方法。
  11. 服务启动后,访问 http://localhost:8012/,即可看到项目界面。
  12. 使用示例
  13. 预览文件
  14. http://127.0.0.1:8012/onlinePreview?url=http://example.com/1.doc
  15. (注意:URL 需要进行编码)
  16. 编辑文件
  17. http://127.0.0.1:8012/onlineEdit?callBack=localhost:8080/saveCallBack&url=http://example.com/demo.docx&fileId=yourId
  18. 编辑完成后,回调地址会收到新生成的文档下载地址。

注意事项

  • 安全性问题:项目存在一些已知的漏洞(如任意文件读取、删除、SSRF),提议在生产环境中使用最新版本并配置黑名单机制。
  • URL 编码:传递的文件地址和回调地址需要进行 URL 编码,以避免解析错误。
  • 部署提议:推荐使用 Docker 部署,支持 ARM64 和 x86 架构,简化环境配置。
  • 全部评论(0)
最新发布的资讯信息
【系统环境|】创建一个本地分支(2025-12-03 22:43)
【系统环境|】git 如何删除本地和远程分支?(2025-12-03 22:42)
【系统环境|】2019|阿里11面+EMC+网易+美团面经(2025-12-03 22:42)
【系统环境|】32位单片机定时器入门介绍(2025-12-03 22:42)
【系统环境|】从 10 月 19 日起,GitLab 将对所有免费用户强制实施存储限制(2025-12-03 22:42)
【系统环境|】价值驱动的产品交付-OKR、协作与持续优化实践(2025-12-03 22:42)
【系统环境|】IDEA 强行回滚已提交到Master上的代码(2025-12-03 22:42)
【系统环境|】GitLab 15.1发布,Python notebook图形渲染和SLSA 2级构建工件证明(2025-12-03 22:41)
【系统环境|】AI 代码审查 (Code Review) 清单 v1.0(2025-12-03 22:41)
【系统环境|】构建高效流水线:CI/CD工具如何提升软件交付速度(2025-12-03 22:41)
手机二维码手机访问领取大礼包
返回顶部