9 Star 64 Fork 17

Sherlock / onlyoffice-api

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

调用OnlyOffice JS 来实现office文档在线预览&编辑

简介

使用OnlyOffice document server 来实现文档的在预览和编辑,屏蔽了OnlyOffice内部细节,抽象一套API。

。。。

关于查看页面的下载:

doc/docx/xlx/xlsx/ppt/pptx/pdf 会下载为pdf格式 txt 会下载为txt格式

部署要求

  • 首先需要先部署OnlyOffice,并保证和OnlyOffice能够互通。
  • OnlyOffice 和 该服务访问地址均需要开放给客户。
  • 该服务需要直接读取硬盘上原始文档文件。

使用说明

。。。

TODO LIST

  • 根据文档磁盘路径预览
  • 注意 pdf,txt 等预览时的CORS问题
  • 手机端的预览体验?
  • 添加一个简单的demo页面
  • 路径能否支持中文?
  • 文档 id 改用 md5 实现(目前使用crc32)
  • 文档 id 缓存改用 redis(已支持redis和内存缓存)
  • 文件路径中名称可能是hash后的结果,要支持实际文件名称自定义
  • 文档后缀为大写的测试
  • 文档缓存应该尽可能的小,少占用空间
  • 加强容错
  • 需要测试预览页面的下载是否好使
  • 配置的校验(无有效配置可阻止启动)
  • ViewModel和Rest类型Controller要分开?
  • 加密或者错误格式的文档的预览和编辑,容错
  • 是否需要校验文档的真实格式和后缀是否相符?
  • 编辑功能?分开实现?
  • pdf 不应该提供编辑功能
  • 同一key不可编辑多次?貌似onlyoffice限制,还是理解偏差,有待确认! 编辑时需要业务调用方传递一个业务id?
  • 多人同时编辑时,存储位置如何指定?还是直接修改覆盖源文件?允许客户端指定保存的位置?
  • 编辑时是否可以提供两种方式?1.原文件直接修改 2.另存为临时文件,回调给客户端
    !!!需要通知调用者,编辑已完成
  • 编辑后的写操作是否应该对文件加锁(注意超时),注意文件流释放
  • 提供类似bisheng的api、参数等md5签名校验【安全】
  • 添加logback日志,便于日后排查问题等
  • 后续是否需要考虑支持http文件流的方式(读取和保存)
  • 整体的解决方案给出文档,部署文档(包括OnlyOffice)
  • 菜单定制、logo、公司名称显示、指向等只支持onlyoffice开发者版本配置

1.即使封装中间层,onlyoffice document-server 也会直接暴露出来地址,比如下载成pdf、html等

错误代码

代码 描述
0 success
1001 目标文档不存在
1002 目标文档是目录或空文件
1003 目标文档不可读
1004 目标文档大小超过限制
1005 目标文档格式不正确
1006 目标文档md5校验失败
1007 目标文档MIME检查失败
1008 文件路径不包含扩展名
1009 文件路径和名称后缀不匹配
1010 目标文档key计算失败
1101 文档信息缓存失败
1102 从缓存中获取文档信息失败
1201 不支持的请求类型
-1 系统繁忙,请稍后再试...

空文件

简介

OnlyOffice 简单封装 Restful API,支持文档在线预览,在线编辑。 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/sherlocky/onlyoffice-api.git
git@gitee.com:sherlocky/onlyoffice-api.git
sherlocky
onlyoffice-api
onlyoffice-api
master

搜索帮助