ONLYOFFICE介绍
ONLYOFFICE是一款开源在线office工具,可以让客户直接从web端进行文档编写。官方网站https://www.onlyoffice.com/zh 。
官方提供了开源社区版不同平台的使用版本,下载地址 https://www.onlyoffice.com/zh/download.aspx?from=downloadintegrationmenu 。本文将基于Docker版本演示及使用。
相关文档
- 开源项目 https://github.com/ONLYOFFICE
- 官方文档 https://api.onlyoffice.com/editors/basic
- 示例项目(在
document-server-integration/web/documentserver-example/
目录中) https://github.com/ONLYOFFICE/document-server-integration
快速部署
使用 Docker 版本部署,文档可参考 官方说明
安装 Docker
可参考文档 http://get.daocloud.io
Docker for Windows 在Windows上运行Docker。系统要求,Windows10x64位,支持Hyper-V。如果您的电脑版本过旧,可以使用 Docker Toolbox 在Windows或者Mac上运行Docker。适用于Mac OS X 10.8+ 或者 Windows 7/8.1。相关文件在文档中都有下载地址。
安装 ONLYOFFICE
WIN10系统下,进入cmd命令窗口执行命令。
docker pull registry.cn-beijing.aliyuncs.com/kaite-open/documentserver:v0.3
拉取最新 ONLYOFFICE 镜像,文件较大下载需等待一段时间。docker run -i -t -d -p 8989:80 registry.cn-beijing.aliyuncs.com/kaite-open/documentserver:v0.3
启动镜像,其中8989
为映射到本地的端口。
运行成功后可使用本机IP访问,如 http://127.0.0.1:8989 .
JEPaaS 集成相关配置
在【系统变量】功能中增加如下变量
JE_OFFICE_TYPE
offic使用工具类型,值为onlyoffice
时启用onlyoffice。ONLYOFFICE_HOST
onlyoffice地址(浏览器可访问地址),此地址是浏览器访问onlyoffice的地址。ONLYOFFICE_CALL_HOST
回调JEPaaS地址(onlyoffice可访问地址),此地址是onlyoffice访问JEPaaS系统的地址,用来下载文件及保存时回调JEPaaS。
解除限制(此操作可能会有授权风险,谨慎操作)
社区版本有20个连接数的限制,超过20人同时编辑会出现版权提示。网上解除方式参考 https://blog.csdn.net/xm393392625/article/details/86525081 ,此操作有版权风险,谨慎操作,后果自负。
集成后常见问题处理
问题1
此问题是因为onlyoffice新版本api与旧版不一致,可以通过重写枚举类来解决。步骤如下:
- 在je-web下新建com.je.onlyoffice.builder包
- 新建DocumentType类,内容如下:
package com.je.onlyoffice.builder;
import com.google.common.collect.Lists;
import java.util.List;
public enum DocumentType {
text,spreadsheet,presentation;
//不同类型对应的后缀集合
private static List<String> WORD = Lists.newArrayList("doc", "docm", "docx", "dot", "dotm", "dotx", "epub", "fodt", "htm", "html", "mht", "odt", "ott", "pdf", "rtf", "txt", "djvu", "xps");
private static List<String> CELL = Lists.newArrayList("csv", "fods", "ods", "ots", "xls", "xlsm", "xlsx", "xlt", "xltm", "xltx");
private static List<String> SLIDE = Lists.newArrayList("fodp", "odp", "otp", "pot", "potm", "potx", "pps", "ppsm", "ppsx", "ppt", "pptm", "pptx");
public static DocumentType parse(String suffix) {
if (CELL.contains(suffix)) {
return spreadsheet;
} else if (SLIDE.contains(suffix)) {
return presentation;
}
return text;
}
}
- 重新编译、打包后解决问题
最后编辑: 呼丽华 文档更新时间: 2024-08-21 10:58 作者:呼丽华