国产linux系统(银河麒麟,统信uos)使用 PageOffice 实现word文件在线留痕

PageOffice 国产版 :支持信创系统,支持银河麒麟V10和统信UOS,支持X86(intel、兆芯、海光等)、ARM(飞腾、鲲鹏、麒麟等)、龙芯(LoogArch)芯片架构。

查看本示例演示效果
本示例关键代码的编写位置
Vue+Springboot

注意
本文中展示的代码均为关键代码,复制粘贴到您的项目中,按照实际的情况,例如文档路径,用户名等做适当修改即可使用。

Word中的“痕迹”功能可以跟踪文档中所做的更改。痕迹可以包括添加、删除、移动和格式更改等。Word提供了“痕迹保留”功能,可以保留这些痕迹并在文档中显示出来。痕迹保留对于多人协作编辑同一份文档时非常有用,可以清楚地了解每个人对文档所做的修改。同时,痕迹保留也可以用于审阅和修改文档,帮助用户更轻松地进行修改和校对工作。用户可以通过“审阅”选项卡中的“修订”按钮来开启和关闭痕迹保留功能。

既然Word中的痕迹保留功能已经可以满足多人协作编辑同一份文档的需求,那为什么还需要强制留痕功能呢?原因主要有以下两点:

  • 很多普通用户不清楚留痕功能如何使用,不知道点击“审阅”选项卡中的“修订”按钮就可以开启留痕功能;
  • 部分的用户知道留痕功能,但是不愿意使用,故意关闭“审阅”选项卡中的“修订”状态;
  • 用户可以随意修改和处理其他人的痕迹,不受系统控制;

PageOffice通过封装Office的API,实现了强制留痕模式,PageOfficeCtrl对象webOpen方法的第二个参数使用docRevisionOnly就是强制留痕模式,在这种模式下,用户对文档做的任何修订都会被记录下来,无需用户手动开启留痕功能,并且用户也不能关闭留痕功能。不同用户对文档做的修订会自动使用不同的颜色标记。用户不能接受、拒绝或删除其他用户对此文档所做的任何修订。修订记录能够显示修订者的名字,修订时间及修订内容。痕迹所显示的用户名就是webOpen方法第三个参数所传递的用户名,一般使用真实的用户名,比如“张三”,不要用“zhangsan”这样的登录名。

由于强制留痕模式下用户不能接受、拒绝或删除其他用户对此文档所做的任何修订,所以经过多人审阅后的Word文档,需要进行核稿处理,清理文档中用户编辑过的所有痕迹。此时,可以使用PageOffice提供的核稿模式,PageOfficeCtrl对象的webOpen方法的第二个参数使用docAdmin,打开文档即可进入核稿模式,此时在痕迹上点右键,右键菜单中的“接受修订”、“拒绝修订”、“接受删除”、“拒绝删除”等项就都是可用状态了,核稿人员就可以根据文档中各用户的意见,对文档做修改并清除文件中的所有痕迹,整理为可发布的正式文件。有些办公系统需要将用户留痕审阅过的文件归档保存,以便后期查阅。因此开发人员可以编写程序,在进入核稿环节时,自动备份留痕文档。

后端代码

PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
//webOpen的第一个参数支持能够输出下载文件的Url相对地址或者文件在服务器上的磁盘路径两种方式
//查看详细,请在本站搜索“PageOffice属性或方法中涉及到的URL路径或磁盘路径的说明”
poCtrl.webOpen("D:\\documents\\test.docx", OpenModeType.docRevisionOnly, "张三");

前端代码

  1. 在OnPageOfficeCtrlInit事件中添加隐藏和显示痕迹的按钮(根据实际业务需求处理即可);
OnPageOfficeCtrlInit() {
  pageofficectrl.AddCustomToolButton("隐藏痕迹", "hideRevision", 18);
  pageofficectrl.AddCustomToolButton("显示痕迹", "showRevision", 9);
},
  1. 实现自定义按钮所调用的js函数;
function showRevision() {
    pageofficectrl.ShowRevisions = true;
}
function hideRevision() {
    pageofficectrl.ShowRevisions = false;
}

参考链接:强制留痕模式编辑

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

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

相关文章

算法工程师重生之第四十六天(字符串接龙 有向图的完全可达性 岛屿的周长)

参考文献 代码随想录 一、字符串接龙 题目描述 字典 strList 中从字符串 beginStr 和 endStr 的转换序列是一个按下述规格形成的序列: 1. 序列中第一个字符串是 beginStr。 2. 序列中最后一个字符串是 endStr。 3. 每次转换只能改变一个字符。 4. 转换过程…

魅力标签云,奇幻词云图 —— 数据可视化新境界

目录 目的原理详解建议 标签云:用于汇总生成的标签,一般是独立词汇运行前的准备代码示例 词云:对本文中出现频率较高的词,视觉上突出显示总结 目的 掌握文本与文档可视化:使用特定软件或编程语言(如Python…

云计算答案

情境一习题练习 一、选择题 1、在虚拟机VMware软件中实现联网过程,图中箭头所指的网络连接方式与下列哪个相关( C )。 A.仅主机模式 B.桥接 C.NAT D.嫁接 2、请问下图这个虚拟化架构属于什么类型( A …

【测试】【Debug】vscode pytest 找不到测试用例测试文件 行号部位没有绿色箭头

出现这种情况首先检查: 是否安装pytest点击vscode的这个图标如果其中都是空的,没有识别上,并且写好的.py测试文件的行号前面没有运行符号,要检查名称是否按照pytest的要求写,不然会识别不到。 命名规则注意&#xff1…

Echats柱状图的横坐标用图片显示

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>图片作为横坐标示例 - ECharts</title><!-…

D-ID 推出能模仿用户的头部动作以及实时互动的 AI 头像

D-ID 宣布推出两种新型 AI 头像 — — Express 和 Premium&#xff0c;旨在提升内容创作的灵活性和人性化。这些头像将为企业在营销、销售和客户支持等领域的视频制作提供便利。用户只需少量文本输入和视觉数据&#xff0c;即可生成更自然的商业视频。 Express 头像可以通过约一…

vue使用canves把数字转成图片验证码

<canvas id"captchaCanvas" width"100" height"40"></canvas>function drawCaptcha(text) {const canvas document.getElementById(captchaCanvas);const ctx canvas.getContext(2d);// 设置背景颜色ctx.fillStyle #f0f0f0;ctx.f…

mybatisgenerator生成mapper时报错

本想使用generator自动生成model和mapper&#xff0c;没想到插件执行的时候报如下错误。 Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.2:generate (default-cli) on project ywq-mybatis-tools: Execution default-cli of goal org.myb…

【无标题】西安交通大学提出少锚点的端到端车道线检测算法Polar R-CNN

Abstract 车道线检测在自动驾驶中是一个关键且充满挑战的任务&#xff0c;特别是在实际场景中&#xff0c;由于车道线可能因其他车辆而被遮挡、形状纤细且长度较长&#xff0c;检测难度增大。现有基于锚点的检测方法通常依赖于预设的锚点来提取特征&#xff0c;并随后对车道线…

Vue + Vant Picker实现省市区三级联动

一、picker选择器的数据由columns属性控制&#xff0c;columns中有几个元素就代表该选择器有多少级&#xff0c;通过change方法来给对应列赋值 this.columns [{values: citys,className: "column1",defaultIndex: 0,flex: 1, //控制每列的宽度},{values: citys[0].…

Windows安装配置node.js

下载安装 下载 访问下载 | Node.js 中文网&#xff0c;下载 推荐使用长期支持版本&#xff0c;但是此次是学习用的&#xff0c;使用最新版本试一下 安装 其实一路next基本就可以了&#xff0c;注意调整下安装目录 查看版本 C:\Users\PC>node -v v22.11.0 C:\Users\PC>…

Mac保护电池健康,延长电池使用寿命的好方法

使用Mac的过程中&#xff0c;如何延长电池的使用寿命是大家非常关心的问题&#xff0c;而养成一个良好的充电习惯能够有效的延长电池的使用寿命 避免过度充电和过度放电能够有效的保护电池&#xff0c;因此长时间的充电与长时间放点都不可取&#xff0c;但是在日常的使用过程中…

Kaggle生物信息学挑战:酶稳定性预测大赛

背景介绍 酶的稳定性是影响其实际应用的关键因素之一。通过定点突变可以改善酶的稳定性,但实验筛选稳定性突变体的成本较高。预测突变对酶稳定性的影响,加速筛选稳定性更高的酶突变体。 概念解释 X 残基&#xff1a;假设 它用 红色表示 &#xff0c; Y 残基&#xff1a;假设…

HarmonyOS NEXT 应用开发实战:十一、知乎日报项目接口使用指南

在本篇博文中&#xff0c;我们将带您完成一个简单的知乎日报项目&#xff0c;主要关注如何使用 h_request库与后端接口进行交互。我们将快速搭建起项目&#xff0c;并利用该库的优势提高开发效率。 选择 h_request 的理由 在进行 HarmonyOS 开发时&#xff0c;原始的 ohos.net…

STM32——串口

1、串口是什么 串口呢&#xff0c;作为硬件调试的时候&#xff0c;是很有用的&#xff0c;我觉得搞嵌入式是经常和串口打交道的 串口&#xff08;Serial Port&#xff09;是一种用于计算机和外部设备之间进行数据通信的接口。它通过串行通信方式传输数据&#xff0c;即一次只…

sparkSQL的UDF,最常用的regeister方式自定义函数和udf注册方式定义UDF函数 (详细讲解)

- UDF&#xff1a;一对一的函数【User Defined Functions】 - substr、split、concat、instr、length、from_unixtime - UDAF&#xff1a;多对一的函数【User Defined Aggregation Functions】 聚合函数 - count、sum、max、min、avg、collect_set/list - UDTF&#xff1a;…

水库大坝安全监测预警方法

一、监测目标 为了确保水库大坝的结构安全性和运行稳定性&#xff0c;我们需要采取一系列措施来预防和减少因自然灾害或其他潜在因素所引发的灾害损失。这不仅有助于保障广大人民群众的生命财产安全&#xff0c;还能确保水资源的合理利用和可持续发展。通过加强大坝的监测和维护…

Java:网络原理-TCP/IP

1.应用层 主要涉及两种情况: (1)使用大佬们已经创建好的应用层协议. (2)自己定义应用层协议. [1]明确前后端交互过程中,需要传递哪些信息. 比如开发一个外卖软件,展示"商家列表" 此处就需要先确定传递的信息是啥. a.请求:用户id; 用户所处的位置 b.响应:商家…

C++类的多重继承演示

一个派生类可以继承多个基类 以下代码演示派生类zzj继承两个基类people、student #include <iostream>using namespace std;class people { private:int m_age; public:people(int age);void print();~people(); };people::people(int age) {cout << "peopl…

信息安全建设方案,网络安全等保测评方案,等保技术解决方案,等保总体实施方案(Word原件)

1 概述 1.1 项目简介 1.2 测评依据 2 被测信息系统情况 2.1 定级情况 2.2 承载的业务情况 2.3 网络结构 2.4 被测对象资产 2.5 上次测评问题整改情况说明 3 测评范围与方法 3.1 测评指标 3.1.1 安全通用要求指标 3.1.2 安全扩展要求指标 3.1.3 其他安全要求指标 3.1.4 不适用安…