ONLYOFFICE 文档 是一个开源办公套件,包括文本文档、电子表格、演示文稿和可填写表单的编辑器。
它提供以下功能:
-创建、编辑和查看文本文档、电子表格、演示文稿和可填写表单;
-与其他队友实时协作处理文件。
-ONLYOFFICE 文档还支持用于将您的应用程序与online office集成的 WOPI 协议。

注意:
-在ONLYOFFICE中并不是所有能打开的格式都能进行在线编辑的,比如 docx、xlsx、pptx、txt是可以打开并编辑的,而doc、xls、ppt、pdf等文件就不能在线编辑只能浏览了。


-ONLYOFFICE对可同时编辑的最多文档数量进行了限定。当达到限定时,之后所有文档都将以只读模式打开。

-ONLYOFFICE运作过程说明如下:

ONLYOFFICE API 文档 - 它是如何运作的

各版本区别

ONLYOFFICE 提供不同版本的在线文档编辑器:社区版、企业版以及开发者版。

如果您是一个技术爱好者,为非关键的业务流程寻求强大的文档编辑功能,请考虑 ONLYOFFICE 文档社区版。

该版本可免费下载,采用AGPL v.3许可证,源代码可在 GitHub 上访问。

请注意:社区版最多可支持 20 个同时连接。

如果您需要企业就绪的编辑和安全功能,安全和稳定性修复优先访问,或需要 ONLYOFFICE 团队的技术支持,请选择 ONLYOFFICE 文档企业版。

该版本易于扩展,可供成千上万的用户使用。 了解更多

如果您是一位软件开发商,正在寻求强大的文档编辑功能以扩展您的服务功能,并在您的品牌下向客户提供,ONLYOFFICE 文档开发者版会适合您的需求。 了解更多

-中文官网:
https://www.onlyoffice.com/zh/

-中文API文档:
https://api.onlyoffice.com/editors/basic

-英文官网:
https://www.onlyoffice.com/

-英文API文档:
https://api.onlyoffice.com/

安装、启动与停止

-【安装与启动命令】:

这里采用Docker进行安装比较方便,执行以下命令进行安装和启动容器:

这里最好用较新版本的Docker来安装,因为我之前采用18.x版本时安装会报错:Error response from daemon: missing signature key。

-【带Token验证的安装、启动命令】:
docker run -i -t -d -p 8088:80 --restart=always -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver

这里的8088为ONLYOFFICE工具访问的端口号,my_jwt_secret为自定义的JWT SECRET。

-【不带Token验证的安装、启动命令】:
docker run -i -t -d -p 8088:80 --restart=always -e JWT_ENABLED=false onlyoffice/documentserver

-【停止ONLYOFFICCE】:
docker stop 7eacd10fb717

-【启动ONLYOFFICCE】:
docker start 7eacd10fb717

7eacd10fb717是安装好的ONLYOFFICE容器ID。安装、启动后,可用docker ps来查看。
下面的命令中出现的容器ID是一个意思。

-【进入ONLYOFFICE容器】:
docker exec -it 7eacd10fb717 /bin/bash

7eacd10fb717是安装好的ONLYOFFICE容器ID。

-【进入容器后重启ONLYOFFICE服务】:
supervisorctl restart all

-【查看ONLYOFFICE JWT secret】:
docker exec 7eacd10fb717 /var/www/onlyoffice/documentserver/npm/json -f /etc/onlyoffice/documentserver/local.json 'services.CoAuthoring.secret.session.string'

-【查看容器日志】:
docker logs -tf 7eacd10fb717

7eacd10fb717是安装好的ONLYOFFICE容器ID。

关于配置文件的说明

配置文件可以在以下路径中找到:
对于 Linux: /etc/onlyoffice/documentserver/default.json。
对于 Windows: %ProgramFiles%\ONLYOFFICE\DocumentServer\config\default.json。

所有主要设置都存储在 default.json 文件中,其中一些设置被 production.json 文件中的设置添加或覆盖,任何用户/开发人员设置则被 local.json 配置文件中的设置覆盖。

如果您更改 default.json 或 production.json 文件中的参数,则所有更改将在 文档服务器更新或 Docker 容器重启后丢失(如果您使用 Docker 安装的 文档服务器),到时都会恢复默认值
如果要修改默认配置参数,应该使用 local.json 配置文件。
此文件必须与 default.json 文件在同一文件夹中创建,并且 必须保留 必要参数的 整个对象结构。


在线编辑和保存的实践步骤

参考:https://api.onlyoffice.com/zh/editors/save

1.创建一个 回调处理程序 以保存来自 文档编辑服务的文档。

2.创建一个 html 文件来 打开文档。

3.在文档编辑器初始化的配置脚本中,使用 参数行中的 回调处理程序 指定文件的 URL。

示例:
new DocsAPI.DocEditor("placeholder", {
"document": {
"fileType": "docx",
"key": "Khirz6zTPdfd7",
"title": "Example Document Title.docx",
"url": "https://example.com/url-to-example-document.docx"
},
"documentType": "word",
"editorConfig": {
"callbackUrl": "https://example.com/url-to-callback.ashx"
},
});

其中 example.com 是安装了 文档管理器 和 文档存储服务 的服务器的名称;/url-to-callback.ashx是在线文档保存时回调的文件保存接口地址。

4.在浏览器中打开您的 html 文件并编辑您的文档。

5.关闭 文档编辑器。 在大约 10 秒内再次查看您的文档 ,此时所有更改应该就被保存了。


关于在线编辑文档后,保存文件的延迟说明

文档编辑完成后, 文档编辑服务 会将它通知给 文档存储服务。

完成之前的时间是根据编辑文件到 Office Open XML 格式的转换时间(取决于文件大小、复杂性和计算机能力,并且可以执行相当长的时间)和转换开始延迟来计算时间(默认为 5 秒)。

在最常见的情况下,编辑完成后的时间约为 10 秒。

转换开始延迟对于允许在不保存文件的情况下返回文件编辑会话是必要的,例如在打开文件进行编辑的情况下重新加载浏览器页面时。

默认转换开始延迟时间由 services.CoAuthoring.server.savetimeoutdelay 参数在 文档服务器 配置文件中定义,  配置文件可以在以下路径中找到:

对于 Linux - /etc/onlyoffice/documentserver/ default.json

对于 Windows - %ProgramFiles%\ONLYOFFICE\DocumentServer\config\ default.json

如果要更改它,可以使用 local.json 文件 ,该文件应存储所有已编辑的参数。

我测试用的HTML前端完整代码

<!doctype html>
  <meta charset="UTF-8">
</head>
<div id="fileEdit"></div>
<!-- 页面引入ONLYOFFICE Server端的api.js -->
<script type="text/javascript" src="http://192.168.88.211:8088/web-apps/apps/api/documents/api.js"></script>
<script>
  //获取url参数的方法
  function getQueryString(name) {
    let reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
    let r = window.location.search.substr(1).match(reg);
    if (r != null) {
      return unescape(r[2]);
    return null;
  let filePath = getQueryString("filePath");//通过url参数传入的要打开文件的相对路径
  let fileName = filePath.substring(filePath.lastIndexOf("/")+1);//获取文件名,用于ONLYOFFICE编辑器title标题设置
  let extName = filePath.substring(filePath.lastIndexOf(".")+1);//获取文件扩展名,用于ONLYOFFICE编辑器fileType文件类型设置
  let editorConfig = {
    "lang": "zh-CN",//设置ONLYOFFICE编辑器语言为中文
    //保存文档时最终的回调接口,用于保存在线编辑的文件到存储
    "callbackUrl": window.location.protocol+"//"+window.location.host+"/jeecg-boot/mytest/myTest/officedoc/save?path="+filePath
  let mode = getQueryString("mode");//通过url参数传入的要打开文件的打开方式,我这里传入view表示只读。
  if(mode && mode == "view"){
    editorConfig = {
      "lang": "zh-CN",//设置ONLYOFFICE编辑器语言为中文
      "mode": "view"//设置只读时使用的配置,不加则默认表示允许编辑(只读时不需要填不加callbackUrl配置)
  ONLYOFFICE编辑器有三种主要外观,针对不同用途进行了优化,可通过type属性予以配置:
    desktop,针对桌面计算机浏览器中的显示进行了优化;
    mobile,针对移动设备浏览器中的显示进行了优化;
    embedded,针对将文档嵌入网页进行了优化。
new DocsAPI.DocEditor("fileEdit", // 显示ONLYOFFICE编辑器的DOM元素id
    type: "desktop",//编辑器外观,
    width: "100%",
    height: "1000px",
    document: {
      title: fileName,//文件标题
      url: window.location.protocol+"//"+window.location.host+"/jeecg-boot/sys/common/static/"+filePath,//要打开的文件地址
      //fileType:"docx",
      fileType:extName,
      key: "",//如果要多人协作编辑一个文件,可对每个文件设置不同的key。
      permissions: {//编辑器权限配置
        "download": true,
        "edit": true,
        "fillForms": true,
        "print": true,
    editorConfig: editorConfig
</script>
</body>
</html>


使用时遇到的问题及解决方案

1.The document security token is not correctly formed.

解决方案参考:https://tieba.baidu.com/p/8110282127

在docker容器中修改local.json文件(vim /etc/onlyoffice/documentserver/local.json),修改下列三个值改为false:

"token": {
        "enable": {
          "request": {
            "inbox": false,
            "outbox": false
          },
          "browser": false
        },

PS:以上修改表示不采用token验证,使用token验证需要在请求ONLYOFFIE API时获取token并传入才行。不过开启token验证后,我在项目页面中通过ONLYOFFICE加载文档时报错,总也加载不了文档。。。o(>o<)o,所以干脆把token验证关了才好了最后。。。有童鞋知道咋回事的可留言告我一声啊,咳咳。


2.Download failed

解决方案参考:https://tieba.baidu.com/p/8110282127

在docker容器中修改local.json文件(vim /etc/onlyoffice/documentserver/local.json),添加以下配置:

request-filtering-agent中的allowPrivateIPAddress、allowMetaIPAddress均为true

"request-filtering-agent": {
        "allowPrivateIPAddress": true,
        "allowMetaIPAAddress": true
},

onlyoffice7.1发布日最新版,只提供编译成功的out文件, 自行编译教程https://blog.csdn.net/u011400204/article/details/124781470 安装参考https://helpcenter.onlyoffice.com/installation/docs-community-compile.aspx SpellChecker 模版在最新版中已经去除无需启动 启动FileConverter,DocService即可 如果需要其他服务请联系我 , 相关下载链接:https://download.csdn.net/download/u011400204/85384139?utm_source=bbsseo 作为一站式在线协作办公软件,ONLYOFFICE功能非常强大,囊括了各大办公软件的优势,并克服了当前常用的办公软件的诸多缺陷,可以很好地解决用户使用过程中的痛点问题。我已经使用ONLYOFFICE有一段时间了,整体感觉很不错,方便快捷、上手容易、功能齐全,插件功能使用流畅,特别是引入了大家感兴趣的AI插件(比如ChatGPT)!单就免费且没有广告的商业模式这一点,就值得我们试一试。因为开源所以经济实惠,比其他主流产品更划算。可以部署在自己的服务器上,自己控制数据安全。 ONLYOFFICE最大的好处在于协同工作的能力。可以采用ONLYOFFICE为公司的小组建立一个共同的服务器,让同事可以协同工作,避免合并文档的痛苦。对于经常修改需求或者文档操作频繁的小组很实用。在外观上,ONLYOFFICE的功能区模仿了微软Office365功能区的设计风格,用户能快速上手。此外,ONLYOFFICE对微软Office文件格式(.docx.xlsx以及.pptx)的兼容性更好,方便用户与他人共享文件。 -显示如何将使用DocBuilder脚本生成的内容插入文档中。 展示了如何从第三方服务获取数据并将其插入到电子表格中。 输入助手/非标准键盘的示例。 它具有自己的窗口,当您键入文本时,该窗口会消失。 它的位置与光标相关。 搜索并替换 使用设置搜索和替换功能的示例。 显示启动编辑器时如何自动替换内容。 在这种情况下,文本“ ONLYOFFICE”将被替换为文本“ ONLYOFFICE很酷”。 显示了如何使用插件向文档添加注释。 显示了如何向电子表格的活动单元格添加注释。 使用内容控件 显示如何使用插件添加,编辑和删除内容控件。 显示了如何获取内容控件列表,如何选择插件中确定的ID的内容以及如何使用所选内容创建变量,然后将其插入所需的任何位置。 相信大家已经有所了解ONLYOFFICE这个神中神办公软件真正的办公神器-ONLYOFFICE你了解多少?,最近公司产品突然提出一个需求要实现文档实时在线浏览编辑等一系列功能,需求评审我直接举手,这个活我来!之前对ONLYOFFICE有一定的了解,但是对于二次开发与整合方面一直没深入探索,正好借着本次机会,上班学习走起!本篇给大家讲一下ONLYOFFICE本地部署的相关步骤与注意事项。 近几年来,随着互联网技术的不断发展,办公使用文档处理软件在市场上也是很多。比较熟悉就是Microsoft Office 和 WPS,但是 Microsoft Office 需要付费才能使用,国内破解方法也比较麻烦,搞不好电脑就直接瘫痪,而WPS的广告满天飞。直到我遇见了`ONLYOFFICE`,让我相见恨晚啊! 了解onlyofficeONLYOFFICE Docs是一个开源办公套件,包括文本文档、电子表格和演示文稿的编辑器。它提供以下功能:1、创建、编辑和查看文本文档、... ONLYOFFICE,简单地说,就是将 Word 、Excel、PPT 3 大办公套件搬到了云端,只需要一个浏览器即可以在线使用 Office 的各种功能。 ONLYOFFICE套件包括三个基本组件: 文字处理(Word) 电子表格(Excel) 演示文稿(PPT) ONLYOFFICE文档服务分为客户端和服务端两部分。 客服端包括: 文档管理器(Document manager) 文档编辑器(Document editor) 服务端包括: 文档存储服务(Document storage service) 作为一站式在线协作办公软件,ONLYOFFICE功能非常强大,囊括了各大办公软件的优势,并克服了当前常用的办公软件的诸多缺陷,可以很好地解决用户使用过程中的痛点问题。我已经使用ONLYOFFICE有一段时间了,整体感觉很不错,方便快捷、上手容易、功能齐全,插件功能使用流畅,特别是引入了大家感兴趣的AI插件(比如ChatGPT)!单就免费且没有广告的商业模式这一点,就值得我们试一试。因为开源所以经济实惠,比其他主流产品更划算。可以部署在自己的服务器上,自己控制数据安全。 / text对应各种文档类型(.doc, .docm, .docx, .dot, .dotm, .dotx, .epub, .fodt, .htm, .html, .mht, .odt, .ott, .pdf, .rtf, .txt, .djvu, .xps)默认值为original。//presentation对应PPT类型(.fodp, .odp, .otp, .pot, .potm, .potx, .pps, .ppsm, .ppsx, .ppt, .pptm, .pptx)默认值为false, 1.OLE FICE文档是由文档编辑器、表格编辑器、幻灯片编辑器和PDF编辑器组成的办公套件。2.该套件可以在网页端、桌面端和移动端使用。3.OLE FICE文档8.2版本进行了重大更新,新增了30个功能和修复了500多处故障。4.自托管解决方案现已推出8.2版本,包括集成奥利弗协作空间和工作区。 OnlyOffice 是一款非常优秀的免费在线 Office 解决方案,它提供了强大的编辑功能、跨平台兼容性和安全可靠性。通过 Docker 部署 OnlyOffice 可以快速搭建一个在线办公环境,并且可以在前端页面中轻松调用 OnlyOffice 服务。如果你正在寻找一款免费的在线 Office 工具,不妨试试 OnlyOffice