跳转到内容

Office 文档在线编辑 ​

Cloudreve 支持通过 WOPI 协议接入 Office 文档在线编辑和协作功能。本文将介绍三种支持 WOPI 协议的服务的部署及对接方式。你也可以通过实现自己的 WOPI 客户端,扩展 Cloudreve 的预览编辑能力(不仅限于 Office 文档)。

WOPI 协议 ​

Web Application Open Platform Interface (WOPI) 协议是一种用于集成 Web 文档编辑器的协议,你可以在 微软的文档 中阅读详细的协议定义。Cloudreve 可以对接实现了 WOPI 协议的文档处理服务,用于扩展已有的文档预览和编辑能力。

兼容性 ​

Method支持情况
CheckFileInfo✅
GetFile✅
Lock✅
RefreshLock✅
Unlock✅
PutFile✅
PutRelativeFile✅
RenameFile✅

搭建 WOPI 服务 ​

请选择任何一个 WOPI 服务进行部署。

Collabora Online (LibreOffice Online) ​

Collabora Online

使用 Docker 部署 Collabora Online(官方文档):

bash
docker run -t -d -p 127.0.0.1:9980:9980 \
           -e "aliasgroup1=<允许使用此服务的 Cloudreve 地址,包含明确端口>" \
           -e "username=<面板管理员用户名>" \
           -e "password=<面板管理员密码>" \
           --name code --restart always collabora/code

以官方演示站为例:

bash
docker run -t -d -p 127.0.0.1:9980:9980 \
           -e "aliasgroup1=https://demo.cloudreve.org:443" \
           -e "username=<面板管理员用户名>" \
           -e "password=<面板管理员密码>" \
           --name code --restart always collabora/code

容器启动后,配置 Nginx 或其他 Web 服务器反向代理 https://127.0.0.1:9980, 可参考 Proxy settings。

OnlyOffice ​

OnlyOffice

OnlyOffice 在 6.4 版本后支持了 WOPI 协议,请参考 官方文档 部署你的 OnlyOffice 实例。推荐使用 Docker-DocumentServer 来快速部署。

参考 官方文档 配置 OnlyOffice 开启 WOPI 功能。如果使用 Docker,可在创建 Contianer 时指定 WOPI_ENABLED 为 true 来开启:

sh
docker run -i -t -d -p 8080:80 -e WOPI_ENABLED=true onlyoffice/documentserver

WARNING

OnlyOffice 不支持过滤 WOPI 请求来源,如果你有对公使用需求,请通过外部应用防火墙检查预览页面请求中 wopisrc 参数是否为预期的 Cloudreve 站点。

Office Online Server (On-Prem) ​

Office Online Server 是微软推出的可私有部署的 Office 在线文档服务。请参考 官方文档 在你的 Windows Server 上部署。

你可以手动访问 <你的 OnlyOffice 主机>/hosting/discovery 来确认是否返回了预期的 XML 响应。

导入 WOPI 编辑器设置 ​

请先完成以下检查清单确保 WOPI 服务可用:

  • 请求 <你的 WOPI 服务端点>/hosting/discovery,应返回 XML 格式的响应;
  • 确认 WOPI 服务端点可以被最终用户访问;
  • 确认你在 Cloudreve 参数设置 -> 站点信息 -> 站点 URL 中设置的 主要 站点 URL 可以被容器中的 WOPI 服务访问。

确认以上检查项无误后,前往 Cloudreve 后台的 参数设置 -> 文件系统 -> 文件浏览应用 -> 添加应用 -> WOPI 协议应用, 将 <你的 WOPI 服务端点>/hosting/discovery 填写到 WOPI Discovery Endpoint 中导入设置。提交后,“文件浏览应用”中会出现一个新的分组,你可以根据需要调整导入的应用名称和图标。