onlyoffice连接器(connector)开发使用精讲 二次开发 深入开发【二】

前言

        这篇教程开始,全部为进阶版使用,你需要先熟悉使用最基础的连接器教程,如果你没有正常接入,请参考教程【一】:onlyoffice连接器(connector)开发使用精讲 二次开发 深入开发【一】_onlyoffice 连接器-CSDN博客

该教程为word的【二次开发高级功能】使用实例,版本由【曹瑞】维护,无商业风险。同时会附带有demo以及文档说明。

说明文档:onlyoffice进阶版说明文档

API文档:onlyoffice进阶版 API文档

一、表单操作

        表单操作用于实现word与form的双向绑定过程,比如:合同、各类型文档使用only(左边)+form(右边)结构进行展示,实现同步操作可以边修改表单边更新合同,也可以边修改合同边更新表单,如图:【图1】使用合同模板发起,【图2】接入左右联动。文档:http://47.94.91.67/#/onlyoffice_doc/main

【图1】
【图2】

onlyoffice操作双向的代码API【节选】,实例可以再我的文档中找到,代码如下:

connector.executeMethod("SetFormValue",["1775", '输入一段文字'],null
);connector.executeMethod("GetFormValue", ["1775"],function (value) {console.log(value);}
);

        表单操作是未来所有业务级别系统必然要走的一条路,所见即所得实时同步更新,这个也是开发者需要学习的一个做产品的思维。

        上面只是一个简单的展示,一整套功能其实代码量很大,从模板管理、模板动态设计、动态字段绑定、模板层转发、UIE抽取、AI风险校对、常规风险校对等等是一个完全的体系,这一整套如果后面有时间,我尝试重新用only做一个快速接入套件吧。

二、事件

        此次增加了3个事件作为基础版本功能:1、文档内部点击批注监听;2、取消点击批注监听;3、点击文字监听;

        1、文档内部点击批注监听;2、取消点击批注监听;

        这两个功能是用监听实现当前选中或者是否选中批注。当然还有其他的API可以直接实现,这里不做展示。

        文档:http://47.94.91.67/#/onlyoffice_doc/main

var currentComment = null;// 文档内部点击批注监听
connector.attachEvent("onInnerClickComment", function(data){console.log(data);currentComment = data.id;}
);// 取消选中监听
connector.attachEvent("onClickCancelComment", function(){console.log('取消选中批注');currentComment = null;}
);

        3、是否点击文字监听;该功能需求是:希望点击文档空白时候,外部form有动作,点击文字时候保持不变。实际上就是根据点击动作做自己的业务逻辑。

        文档:http://47.94.91.67/#/onlyoffice_doc/main

connector.attachEvent("onClickText", function(data){console.log(data.isText);}
);

三、ApiRange

        range对象是office原生的概念,这个需要开发者自己看懂。对于range的功能其实应该还有很多很多可以做,官方放出来的功能远远不够。后续逐步开发吧。

        ScrollTo实现文档滚动到定点位置。range对象很多时候都要用到。paragraph、search、控件、组件等所有包含文字对象的地方都要用到,所以【滚动位置】就很有必要了。

        文档:http://47.94.91.67/#/onlyoffice_doc/main

connector.callCommand(function () {var oDocument = Api.GetDocument();var oRange = oDocument.GetRangeBySelect();oRange.ScrollTo();
}, function (data) {});

四、ApiDocument

        文档对象此次初步先接入3个api:1、获取当前文档协作用户;2:强制保存;3:选中左侧标题树;

        1、获取当前文档协作用户;这个需要开发者自己先实现文档协作,也就是:config->key相同,user不同,打开两个页面就能看到效果。如【图3】。

         文档:http://47.94.91.67/#/onlyoffice_doc/main

图3
connector.callCommand(function () {var oDocument = Api.GetDocument();console.log(oDocument.GetOnlineUser());
}, function (data) {});

        2:强制保存;这个用来处理API操作过文档后,比如:range.AddText('xxxxx')后,调用Api.Save()接口是没有效果的,或者说word文档是用wps创建,调用Api.Save()没有效果的情况。

         文档:http://47.94.91.67/#/onlyoffice_doc/main

connector.callCommand(function () {var oDocument = Api.GetDocument();oDocument.forceSave2();
}, function (data) {});

        3:选中左侧标题树;这个其实就是文档结构树了,用API来选中标题和所属内容。现在需要先点开标题树,调用API才有效果。如【图4】,后面得闲的话连同自动打开标题动作一起再完善一下吧。

         文档:http://47.94.91.67/#/onlyoffice_doc/main

图4
/*** 左侧【标题】导航点开才有效果*/
connector.callCommand(function () {var oDocument = Api.GetDocument();oDocument.SelectTitleItem(1);
}, function (data) {});

五、作者

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

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

相关文章

Jira Cloud涨价5%-20%,钉钉项目Teambition成优选替代

近日,Jira再次宣布涨价,Cloud版涨幅达到5%-20%,这一消息来源于Atlassian官方面向合作伙伴发布的2024年最新涨价通知。 Atlassian旗下核心产品,包括Jira、Confluence、JiraServiceManagement等的Cloud版本价格将有所提高&#xff…

一站式大语言模型API调用:快速上手教程

智匠MindCraft是一个强大的AI工具及开发平台,支持多种大语言模型和多模态AI模型。本文将详细介绍如何通过API调用智匠MindCraft中的大语言模型,帮助开发者快速上手。 注册与登录 访问智匠MindCraft官网,注册并登录账号。 进入开发者平台&…

如何做好接口测试?||关于京东平台商品API接口测试

探讨主题:如何做好接口测试? 一、接口测试简介 1、什么是接口测试? 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制…

损失函数篇 | YOLOv10 更换损失函数之 SIoU / EIoU / WIoU / Focal_xIoU 最全汇总版

文章目录 更换方式CIoUDIoUEIoUGIoUSIoUWIoUFocal_CIoUFocal_DIoUFocal_EIoUFocal_GIoUFocal_SIoU提示更换方式 第一步:将ultralytics/ultralytics/utils/metrics.py文件中的bbox_iou替换为如下的代码:class WIoU_Scale: if monotonous = None , v1if monotonous = True , v…

领夹麦克风性价比最高?一文看懂领夹麦克风什么牌子的好

近几年随着网络直播、短视频等新兴行业的发展,筑就了一个全民视频创作的时代。而领夹麦克风也是凭借轻便、便携的特性,获得了广大短视频创作者的青睐,领夹麦克风的需求量也是不断增加。也正是因为如此,如今市面上的领夹麦克风品牌…

【小程序】微信小程序课程 -4 项目实战

目录 1、 效果图 2、创建项目 2.1 创建小程序端 2.1.1 先创建纯净项目 2.1.2 删除components 2.1.4 删除app.json红色部分 2.1.5 删除index.json红色部分 2.1.6 删除index.wxss全部内容 2.1.7 删除index.wxml全部内容 2.1.8 app.json创建4个页面 2.1.9 app.json添加…

算法闭关修炼百题计划(一)

多看优秀的代码一定没有错,此篇博客属于个人学习记录 1.两数之和2.前k个高频元素3.只出现一次的数字4.数组的度5.最佳观光组合6.整数反转7.缺失的第一个正数8.字符串中最多数目的子序列9.k个一组翻转链表10.反转链表II11. 公司命名12.合并区间13.快速排序14.数字中的…

项目学习笔记

Downloads – Oracle VirtualBoxhttps://www.virtualbox.org/wiki/Downloads

Nginx基础详解2(首页解析过程、进程模型、处理Web请求机制、nginx.conf语法结构)

续:Nginx基础详解1(单体部署与集群部署、负载均衡、正反代理、nginx安装)-CSDN博客 目录 4.Nginx默认首页的过程解析 5.Nginx进程模型的详解 5.1启动nginx后的关于nginx的进程查看 5.2master进程与process进程 5.3Nginx进程图解 5.4wo…

STM32 OLED

文章目录 前言一、OLED是什么?二、使用步骤1.复制 OLED.C .H文件1.1 遇到问题 2.统一风格3.主函数引用头文件3.1 oled.h 提供了什么函数 4.介绍显示一个字符的函数5. 显示十进制函数的讲解 三、使用注意事项3.1 配置符合自己的引脚3.2 花屏总结 前言 提示&#xff…

CSS宽度和高度

CSS 尺寸属性指的就是元素的宽度和高度属性,虽然说非常简单,但却是必须掌握的技能。CSS 中提供了 width、height、max-width、min- width、max-height 和 min-height 等几个属性来设置元素的宽度和高度,这些元素使用起来非常简单,…

02Cesium中常用的鼠标事件

文章目录 02Cesium中常用的鼠标事件1、左键单击事件2、左键双击事件3、左键按下事件4、左键弹起事件5、中键按下事件6、中键弹起事件7、鼠标移动事件8、右键单击事件9、右键按下事件10、右键弹起事件11、鼠标滚轮事件具体在代码中的应用如下所示 02Cesium中常用的鼠标事件 Ces…

yolov8/9/10模型在垃圾分类检测中的应用【代码+数据集+python环境+GUI系统】

yolov8/9/10模型在垃圾分类检测中的应用【代码数据集python环境GUI系统】 yolov8/9/10模型在垃圾分类检测中的应用【代码数据集python环境GUI系统】 背景意义 随着计算机视觉技术和深度学习算法的快速发展,图像识别、对象检测、图像分割等技术在各个领域得到了广泛…

本省第一所!新大学,揭牌!

9月26日,海南艺术职业学院举行揭牌仪式,标志着海南省第一所公办艺术类高等职业院校正式揭牌成立。海南省旅文厅党组成员、副厅长刘成出席揭牌仪式,省教育厅党组成员、副厅长邢孔政在揭牌仪式上宣读省人民政府同意设立海南艺术职业学院的批复。…

Hive数仓操作(五)

一、Hive 信息查看 Hive的元数据管理: Hive 将表的元数据(如表名、列名、类型等)存储在关系型数据库中,通常是 MySQL。元数据的主要表包括: TBLS:存储表的信息(表名、类型、ID 等)。…

性能调优知识点(mysql)三

SQL底层执行原理 MySQL的内部组件结构:大体来说,MySQL 可以分为 Server 层和存储引擎层store两部分 Server层:主要包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数&#xf…

【STM32开发环境搭建】-3-STM32CubeMX Project Manager配置-自动生成一个Keil(MDK-ARM) 5的工程

目录 1 KEIL(MDK-ARM) 5 Project工程设置 2 MCU和嵌入式软件包的选择 3 Code Generator 3.1 STM32Cube Firmware Library Package 3.2 Generated files 3.3 HAL Settings 3.4 Template Settings 4 Advanced Settings 5 自动生成的KEIL(MDK-ARM) 5 Project工程目录 结…

springboot+养老院管理系统—计算机毕业设计源码36270

摘 要 随着我国老年人口数量的逐年增加,人口抚养比也在迅速攀升,越来越多的老年人将走出家门进入养老院安度自己的晚年。同时国家和地方也相继出台了加快发展老龄事业的政策方针,作为机构养老主要组成部分的养老院将迅猛发展。在养老院规模扩…

时间安全精细化管理平台/iapp/mobile/facereg/facereg.html接口存在未授权访问漏洞

漏洞描述 登录--时间&安全精细化管理平台/iapp/mobile/facereg/facereg.html接口存在未授权访问漏洞,黑客可以未授权等级员工信息对平台造成影响 FOFA: body"登录--时间&安全精细化管理平台" 漏洞复现 IP/iapp/mobile/facereg…

学习docker第二弹------基本命令[帮助启动类命令、镜像命令、容器命令]

docker目录 前言基本命令帮助启动类命令停止docker服务查看docker状态启动docker重启docker开机启动docker查看概要信息查看总体帮助文档查看命令帮助文档 镜像命令查看所有的镜像 -a查看镜像ID -q在仓库里面查找redis拉取镜像查看容器/镜像/数据卷所占内存删除一个镜像删除多个…