如何实现Word文档中的书签双向定位

工作中,经常需要拟定合同,一般都有固定的模板,在特定的位置填写内容。通过zOffice编辑合同文件时,可以在模板需要填写的位置预设书签,配合zOffice SDK使用,利用zOffice书签双向定位的特性,更方便的填写合同,接下来本文将演示如何通过zOffice SDK实现书签双向定位。

一、zOffice简介

  zOffice提供云端Office能力,包括word、excel、ppt三类办公文档的在线协同编辑,通过专业级的文档能力,高效的协作体验,内容级的安全管控,丰富的集成开发接口,来赋能企业的业务系统,帮助业务系统实现文档在线预览和编辑,文档操作过程全部线上进行,完成在线办公的场景闭环。

zOffice链接:https://www.filez.com/zoffice

  zOfficeSDK是针对zOffice在线文档而开发的函数库,可以让我们对在线文档进行一些实用的操作。

二、书签双向定位实现

(1)准备工作

我们首先制作一个简单的合同模板,预设三个书签

(2)通过sdk获取书签列表

调用ZOfficeSDK.mount挂载文件

通过Bookmarks.toJson()获取当前文件所有书签名字,将书签列表列在页面上

(3)通过书签列表定位书签

当合同文件内容较多时,需要填写的位置,可能分布在不同页的不同位置,人工查找需要时间,此时我们可以利用bookmark.focus()滚动到书签所在页,快速定位到书签位置。

(4)点击书签,高亮列表对应区域

点击合同内容,光标切换到书签区域时,想要在列表中高亮对应项,以便做一些自定义操作,可以通过监听selectionChange事件实现,当监听到selectionChange时,将光标位置与所有的书签位置进行比较,若光标位置位于某个书签内,就去高亮列表中对应项。

三、总结

前面我们介绍了书签双向定位的基础用法,其实开启内容保护后,利用zOffice的可编辑区域也可以实现同样的功能,同时,通过可编辑区域来实现可以限制合同内容的修改,只允许修改预设部分,更加安全可靠。配合zOffice SDK的其他api,还可以覆盖更多的场景,想要了解更多的话,请查看“联想Filez协同办公”博客的其他相关文章。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

王道p18 第12题假设 A中的 n个元素保存在一个一维数组中,请设计一个尽可能高效的算法,找出A的主元素。若存在主元素,则输出该元素:否则输出-1

视频讲解在:👇 p18 第12题 c语言实现王道数据结构课后习题_哔哩哔哩_bilibili 从前向后扫描数组元素,标记出一个可能成为主元素的元素 Num。然后重新计数,确认 Num 是否是主元素。 我们可分为以下两步: 1.选取候选的主元素。依…

CocosCreator使用物理引擎和回调

在2d中开启碰撞需要在项目设置–功能裁剪–2D物理系统【选择 基于Box2D的2D物理系统】 如果想要两个物体碰撞,则需要添加刚体和碰撞【!!重点】 设置刚体类型 可以设为四种, Static 静态刚体,零质量,零速度…

【JAVA】:万字长篇带你了解JAVA并发编程-并发设计模式【五】

目录 【JAVA】:万字长篇带你了解JAVA并发编程-并发设计模式【五】模式分类Immutability模式【不可变模式】Copy-on-Write 模式Thread Local Storage 模式线程池中使用 Guarded Suspension模式扩展 Guarded Suspension 模式 Balking模式Thread-Per-MessageWorker Thr…

【C语言 | 符号】C语言中符号易出错的地方

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

养老院展示服务预约小程序的作用是什么

养老院无论在哪个城市都有很高需求度,不少银发人群会因为种种原因而前往,而养老院近些年来各种服务也比较完善,增加了客户信任度及接受度,但对院方来说,也存在着一些痛点: 1、品牌传播服务呈现难 养老院也…

[NLP] 使用Llama.cpp和LangChain在CPU上使用大模型

一 准备工作 下面是构建这个应用程序时将使用的软件工具: 1.Llama-cpp-python 下载llama-cpp, llama-cpp-python [NLP] Llama2模型运行在Mac机器-CSDN博客 2、LangChain LangChain是一个提供了一组广泛的集成和数据连接器,允许我们链接和编排不同的模块。可以常…

华大基因推出产前筛查产品NIFTY®,助力防控显性单基因病

随着高通量测序技术在临床应用的迅速进步,从常见的染色体非整倍体扩展到性染色体和拷贝数变异,全球范围内已经开始将无创产前检测(Non-invasive Prenatal Testing,NIPT)的应用范围逐步扩大。近日,华大基因重…

【Mybatis小白从0到90%精讲】15: Mybatis配置打印SQL日志

文章目录 前言配置日志实现前言 日志(Log)是每个程序都不可或缺的一部分,它可以帮助开发人员诊断和调试问题。Mybatis,作为一款备受赞誉的ORM框架,自然也提供了强大的日志功能。 它不仅提供了内置的标准实现,还支持集成各种主流的日志框架,让我们可以轻松地查看最终执行…

休眠和睡眠有哪些区别?如何让电脑一键休眠?

电脑中有休眠和睡眠,那么它们有什么区别呢?下面我们就通过本文来了解一下。 休眠和睡眠的区别 电脑在睡眠状态时,会切断内存之外的设备电源,电脑会进入睡眠状态,当再次唤醒电脑后,不会影响睡眠前保存好的工…

柱状图:带误差棒

误差棒可以表示样本标准差,也可以表示样本标准误。 导入库: import pandas as pd 自定义用来绘制带误差棒(样本标准差或样本标准误)的柱状图: def col(y, x, face, df, errprbarstd) : print(ggplot(df.groupby([x…

搭建WAMP网站教程(Windows+Apache+MySQL+PHP)

之前为了学习网络安全,从搭建网站学起,对网站运行有个初步的了解。 今天翻到了之前的笔记,顺手发到csdn上了。 搭建网站步骤 一、Apache 安装Apache,下载Apache之后把Apache解压,此处解压到C:\目录下 2.然后要记得安…

Notepad++中删除连续的任意n行

使用Notepad里的行标记功能,可以删除指定的任意n行。 案例1,删除sample2.dat里的第201行到第10000行。方法如下: (1) 用户NotePad打开sample2.dat,右击201行 —》“开始/结束”/开始 图(1) 选择行的起点:201 (2) 接…

Git 的基本操作 ——命令行

Git 的工作流程 详解如下: 本地仓库:是在开发人员自己电脑上的Git仓库,存放我们的代码(.git 隐藏文件夹就是我们的本地仓库) 远程仓库:是在远程服务器上的Git仓库,存放代码(可以是github.com或者gitee.com 上的仓库,或者自己该公司的服务器…

【动手学深度学习】课程笔记 05-07 线性代数、矩阵计算和自动求导

05 线性代数 1. 基础知识补充 向量相关 矩阵相关 简单来说,范数是用来衡量矩阵(张量)大小的值,范数的值有不同的规定。 2. 代码实现 仅记录一些我比较陌生的知识。 张量的克隆 A torch.arange(20, dtypetorch.float32).resh…

10个免费3D模型网站

作为一名独立游戏开发者,自己创建图形、配乐、动画和更多东西是相当具有挑战性的。 创建资产所需的成本和时间有时是许多游戏开发商无法承受的。 这就是他们选择在互联网上搜索免费内容的原因。现在,在浩瀚的内容海洋中获得如此免费的东西有点困难。 本文…

阿里云安全恶意程序检测(速通三)

阿里云安全恶意程序检测 特征工程进阶与方案优化pivot特征构建pivot特征pivot特征构建时间pivot特征构建细节特点 业务理解和结果分析结合模型理解业务多分类问题预测结果分析 特征工程进阶基于LightGBM模型验证模型结果分析模型测试 优化技巧与解决方案升级内存管理控制加速数…

Mac版eclipse如何安装,运行bpmn文件

一、下载程序包 网址:https://www.eclipse.org/downloads M2芯片安装包名称:eclipse-jee-2022-12-R-macosx-cocoa-aarch64.dmg 具体安装包版本根据自己电脑型号选择 二、eclipse安装步骤 1)双击下载的文件 2)将eclipse拖入到…

vue项目npm install报错解决

一、报错信息 node-sass4.14.1 postinstall: node scripts/build.js 二、解决方式 (1)删除未成功安装的 node_modules 文件; (2)为 node-sass 单独设置镜像源; npm config set sass_binary_sitehttps:/…

pytorch直线拟合

目录 1、数据分析 2、pytorch直线拟合 1、数据分析 直线拟合的前提条件通常包括以下几点: 存在线性关系:这是进行直线拟合的基础,数据点之间应该存在一种线性关系,即数据的分布可以用直线来近似描述。这种线性关系可以是数据点…

【1107】

interface是面向对象编程语言中接口操作的关键字,功能是把所需成员组合起来,用来封装一定功能的集合。 它好比一个模板,在其中定义了对象必须实现的成员,通过类或结构来实现它。 接口不能直接实例化,即ICount icnew iC…