OnlyOffice社区版部署及前端嵌入使用实现office的docx、xlsx等在线协同编辑预览

一、OnlyOffice介绍

ONLYOFFICE 是一款功能丰富的在线办公软件。它由 Ascensio System SIA 公司开发,有社区版、企业版和开发版等版本。本教程介绍开源社区版的安装使用,实现查看、编辑并协作处理文档、工作表、幻灯片,多人实时协同编辑,支持多人同时编辑一个文档,成员间可互相看到即时编辑内容。
请添加图片描述

二、安装

1. 选择安装方式安装
官网下载页提供多种平台的下载安装方法,我这边使用的是docker安装,启动docker、配置好国内镜像,执行以下命令

sudo docker run -i -t -d -p 8088:80 --restart=always -e JWT_ENABLED=false  onlyoffice/documentserver 

这里需要注意的一点是我这里JWT_ENABLED=false,直接把token验证关掉了,后面前端页面嵌入的时候会要求提供key,就是这个,但我这里直接关了,因为我就算设置了key,也鉴权失败,网上好多同样问题的,所以干脆关了,具体原因没有深究。
请添加图片描述
启动后访问docker映射的端口,这里注意一下,不要用localhost或者127.0.0.1进行访问,用自己设备在局域网中的ip进行访问,具体原因就是可能会打不开文档,例如我这里是:

http://192.168.11.87:8088/

进入后页面如下:请添加图片描述

2. 查看示例
启动完并且能访问到之后,可以进行测试,看是否能正确的打开、编辑文档,官方docker镜像内提供了一个示例页面,页面下面有一个Testing before integration,下面第一条指令是启动示例的,第二条是自动启动示例的,我们看需求,后面用不用这个示例页决定执不执行自动启动。
启动后可以点击GO TO TEST EXAMPLE按钮进入示例页面

请添加图片描述

示例页面如下,可以创建新文件,也可以上传文件。
请添加图片描述

点击文件名即可打开文件进入编辑器页面,如下图所示:
请添加图片描述

三、嵌入项目使用

小伙伴们千万别搞错了,上面的只是示例,官方在演示页面也说了,这个用作演示,Do not use this…,实际使用启动好OnlyOffice服务即可。

请添加图片描述
在html中使用
本文的话举个例子,其实用起来很简单,直接看代码吧

<!doctype html>
<html><head><meta charset="UTF-8">
</head><body><div id="fileEdit"></div><style>body {margin: 0;padding: 0;height: 100vh;}#fileEdit {width: 100%;height: 100vh;}</style><!-- 页面引入ONLYOFFICE Server端的api.js --><script type="text/javascript" src="http://192.168.11.87:8088/web-apps/apps/api/documents/api.js"></script><script>let editorConfig = {"lang": "zh-CN",//设置ONLYOFFICE编辑器语言为中文//保存文档时最终的回调接口,用于保存在线编辑的文件到存储"callbackUrl": "http://192.168.2.62:24005/prod-api/file/upload","lang": "zh-CN",//设置ONLYOFFICE编辑器语言为中文"mode": "edit",//设置只读时使用的配置,不加则默认表示允许编辑(只读时不需要填不加callbackUrl配置)"customization": {"anonymous": { // set name for anonymous user"request": false, // enable set name"label": "aaa" // postfix for user name},},user: {id: '1232',name: '夏XX',group: 'group name' // for customization.reviewPermissions or permissions.reviewGroups or permissions.commentGroups. Can be multiple groups separated by commas (,) : 'Group1' or 'Group1,Group2'},}/*ONLYOFFICE编辑器有三种主要外观,针对不同用途进行了优化,可通过type属性予以配置:desktop,针对桌面计算机浏览器中的显示进行了优化;mobile,针对移动设备浏览器中的显示进行了优化;embedded,针对将文档嵌入网页进行了优化。*/new DocsAPI.DocEditor("fileEdit", // 显示ONLYOFFICE编辑器的DOM元素id{type: "desktop",//编辑器外观,width: "100%",height: "100%",document: {title: 'a.docx',//文件标题url: 'http://192.168.11.152:9300/statics/2024/07/24/%E6%93%8D%E4%BD%9C%E7%A5%A8%E6%A0%A1%E6%A0%B8%E6%A0%A1%E6%A0%B8API%E5%AF%B9%E6%8E%A5%E6%96%87%E6%A1%A3_20240724075639A004.docx',fileType: "docx",//   fileType:extName,key: "a111",//如果要多人协作编辑一个文件,可对每个文件设置不同的key。permissions: {//编辑器权限配置"download": true,"edit": true,"fillForms": true,"print": true,}},editorConfig: editorConfig});</script>
</body></html>

页面效果如下:
请添加图片描述

  1. 页面中引用的js是http://192.168.11.87:8088/web-apps/apps/api/documents/api.js,把ip、端口换成你docker部署服务端的信息就行了。
  2. 想要协同的话肯定得有名字,在user配置中配置相关信息

*以上配置都可以在引用的api.js中查看,官方给的配置项目很多,如下图
请添加图片描述
可能遇到的问题:

  1. Download failed!
    参照:OnlyOffice 打开文档时提示下载失败https://blog.csdn.net/m0_53401243/article/details/133869439

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/48856.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

「树形结构」基于 Antd 实现一个动态增加子节点+可拖拽的树

效果 如图所示 实现 import { createRoot } from react-dom/client; import React, { useState } from react; import { Tree, Input, Button } from antd; import { PlusOutlined } from ant-design/icons;const { TreeNode } Tree; const { Search } Input;const ini…

视频怎么加密?常见的四种视频加密方法和软件

视频加密是一种重要的技术手段&#xff0c;用于保护视频内容不被未经授权的用户获取、复制、修改或传播。在加密过程中&#xff0c;安企神软件作为一种专业的加密工具&#xff0c;可以发挥重要作用。 以下将详细介绍如何使用安企神软件对视频进行加密&#xff0c;并探讨视频加密…

C# 基础语法(一篇包学会的)

C#&#xff08;读作"C Sharp"&#xff09;是一种现代的、通用的面向对象编程语言&#xff0c;由微软公司开发。它结合了C和C的强大特性&#xff0c;并去掉了一些复杂性&#xff0c;使得开发者可以更加高效地编写代码。 一、入坑C# (一) 安装和设置 首先&#xff0c…

Vue 实现电子签名并生成签名图片

目录 前言项目结构代码实现 安装依赖创建签名画布组件生成签名图片 总结相关阅读 1. 前言 电子签名在现代Web应用中越来越普遍&#xff0c;例如合同签署、确认表单等。本文将介绍如何使用Vue.js实现一个简单的电子签名功能&#xff0c;并将签名生成图片。 2. 项目结构 项…

外行对自动驾驶汽车的一些想法-2024-

起源 前段时间有关于自动驾驶汽车的讨论&#xff0c;现在热度终于快过去了。 (⊙﹏⊙) 其实&#xff0c;完全不用担心自动驾驶取代人类。 引用 这是一篇24年4月的报道。 上图为引用&#xff0c;可以看到打工人的忙碌。 2023 一个热爱自动驾驶但妥妥外行之人的思考-2023-C…

【进程检测】使用pywin32捕获window进程信息

需求 检测win系统依赖服务进程的运行情况&#xff0c;版本信息&#xff08;进程检测器&#xff09;检测内外网连接情况 实现 进程检测 # 使用pywin32获取进程版本信息 def get_version_info(path):try:info GetFileVersionInfo(path, \\)ms info[FileVersionMS]ls info[…

C/C++樱花树代码

目录 写在前面 系列文章 C简介 完整代码 代码分析 写在后面 写在前面 C实现精美的樱花树&#xff0c;只需这100行代码&#xff01; 系列文章 序号目录直达链接1爱心代码https://want595.blog.csdn.net/article/details/1363606842李峋同款跳动的爱心https://want595.b…

MySQL的高可用(MHA)

高可用模式下的故障切换&#xff0c;基于主从复制。 单点故障和主从复制不能切换的问题。 至少需要三台。 故障切换过程0-30秒 vip地址&#xff0c;根据vip地址所在的主机&#xff0c;确定主备。 主 vip 备 vip 主和备不是优先级确定的&#xff0c;主从复制的时候就确定…

通信原理-思科实验四:静态路由项配置实验

实验四 静态路由项配置实验 一&#xff1a;实验内容 二&#xff1a;实验目的 三、实验原理 四、实验步骤 选择三个2811型号的路由器 R1、R2、R3 路由器默认只有两个快速以太网接口&#xff0c;为路由器R1和R3增加快速以太网接口模块NM-1FE-TX&#xff0c;安装后检查路由器的接…

python使用rich.progress打印彩色进度条

常规的同步方法和for循环的进度&#xff0c;使用tqdm能很直观地展示进度&#xff1b;而一些异步协程或难以预估进度的&#xff0c;可以考虑使用rich.progress Ref: https://typer.tiangolo.com/tutorial/progressbar/#progress-bar 案例一&#xff1a;左侧展示旋转的小圈圈 …

机器学习(二十):偏差和方差问题

一、判断偏差和方差 以多项式回归为例&#xff0c;红点为训练集数据&#xff0c;绿点为交叉验证数据。 下图的模型&#xff0c;训练集误差大&#xff0c;交叉验证集误差大&#xff0c;这代表偏差很大 下图的模型&#xff0c;训练集误差小&#xff0c;交叉验证集误差小&#x…

等级保护 总结2

网络安全等级保护解决方案的主打产品&#xff1a; HiSec Insight安全态势感知系统、 FireHunter6000沙箱、 SecoManager安全控制器、 HiSecEngine USG系列防火墙和HiSecEngine AntiDDoS防御系统。 华为HiSec Insight安全态势感知系统是基于商用大数据平台FusionInsight的A…

外卖霸王餐系统架构怎么选?

在当今日益繁荣的外卖市场中&#xff0c;外卖霸王餐作为一种独特的营销策略&#xff0c;受到了众多商家的青睐。然而&#xff0c;要想成功实施外卖霸王餐活动&#xff0c;一个安全、稳定且高效的架构选择至关重要。本文将深入探讨外卖霸王餐架构的选择&#xff0c;以期为商家提…

AI绘画进阶工具 ComfyUI 新版来啦!操作界面详解!取消悬浮面板,自带工作流管理功能!(附安装包)

大家好&#xff0c;我是画画的小强 在 7 月初的一次更新中&#xff0c;ComfyUI 官方推出了 Beta 版 UI&#xff0c;取消了原本的悬浮面板&#xff0c;还新增了工作流管理功能&#xff0c;整体使用体验比之前好了很多。今天就为大家详细介绍一些新版 UI 的特点和用法。 一、启…

pdf2image:将PDF文档转化为图像的Python魔法

标题&#xff1a;探索pdf2image&#xff1a;将PDF文档转化为图 像的Python魔法 背景 在数字时代&#xff0c;我们经常需要处理各种格式的文档&#xff0c;尤其是PDF文件。PDF以其跨平台的可读性和稳定性而广受欢迎。然而&#xff0c;有时我们需要将PDF文件转换成图像格式&am…

springboot3-web-questions-分析

系列文章目录 文章目录 目录 系列文章目录 文章目录 前言 一、问题案例 1、maven项目compile时候出现告警warn 2、java文件打包然后在命令行中运行java会找不到主类 3、程序找不到数据库驱动和配置实例 4、springboot和mybatis-plus版本不兼容导致 5、springboot项目启动的解释…

21、Python之面向对象:一切皆对象,可你真的需要面向对象吗

引言 面向对象&#xff08;Object-Oriented Programming, OOP&#xff09;和面向过程&#xff08;Procedural Programming&#xff09;是两种不同的编程范式。不能因为我们接下来要进入“面向对象”的模块的学习&#xff0c;就武断地说&#xff0c;面向对象一定比面向过程好。…

若依 ruoyi poi Excel合并行的导入

本文仅针对文字相关的合并做了处理 &#xff0c;图片合并及保存需要另做处理&#xff01;&#xff01; 目标&#xff1a;Excel合并行内容的导入 结果&#xff1a; 1. ExcelUtil.java 类&#xff0c;新增方法&#xff1a;判断是否是合并行 /*** 新增 合并行相关代码&#xff1a;…

【MySQL篇】Percona XtraBackup标准化全库完整备份策略(第三篇,总共五篇)

&#x1f4ab;《博主介绍》&#xff1a;✨又是一天没白过&#xff0c;我是奈斯&#xff0c;DBA一名✨ &#x1f4ab;《擅长领域》&#xff1a;✌️擅长Oracle、MySQL、SQLserver、阿里云AnalyticDB for MySQL(分布式数据仓库)、Linux&#xff0c;也在扩展大数据方向的知识面✌️…

计网_数据通信基础知识

2024.07.05&#xff1a;计算机网络数据通信基础知识学习笔记 第2节 数据通信基础知识 2.1 物理层特性&#xff08;学会区分&#xff09;2.2 信道相关的基本概念2.2.1 数字信号的&#xff08;基带调制&#xff09;&#xff08;1&#xff09;不归零NRZ编码&#xff08;2&#xff…