一、痕迹保留

Word中的痕迹一般指的是审阅文档的用户对文档所做的修改(插入和删除)操作。在PageOffice的强制留痕模式下,用户对文档所做的任何修改都会以痕迹的形式保留下来,不同用户对文档做的修订会自动用不同的颜色标记; 用户不能接受、拒绝其他用户对此文档所做的任何修订;修订记录能够显示修订者的名字,修订时间及修订内容。

poCtrl.webOpen("doc/test.doc", OpenModeType.docRevisionOnly, "张三");

二、键盘批注

批注是作者或者审阅者根据自己的修改意见,给文档添加的注释或者注解,通过查看批注, 用户可以更加详细地了解文档某些部分的修改意见。用户可以通过office本身的功能新建批注或者通过PageOffice提供的接口给文档新建批注,不了解office本身批注功能的用户可以网上自己搜索一些资料学习研究一下,此处不再赘述。PageOffice也提供了新建批注的功能。

PageOffice中新建批注的两种方式:

1.添加自定义按钮触发js方法弹出批注框,然后输入批注内容。

主要用到的js代码:

2.通过文本框输入批注内容,然后移动光标到指定的位置再插入批注。



主要用到的js代码:

function Button1_onclick() {
addComment(document.getElementById("Text1").value);
}
//用pageoffice调用宏的方式添加键盘批注
function addComment(txt) {
var sMac = "Sub myfunc() " + "\r\n"
+ "Selection.Comments.Add Range:=Selection.Range " + "\r\n"
+ "Selection.TypeText Text:=\"" + txt + "\" " + "\r\n"
+ "On Error Resume Next " + "\r\n"
+ "ActiveWindow.ActivePane.Close " + "\r\n"
+ "End Sub ";
document.getElementById("PageOfficeCtrl1").RunMacro("myfunc", sMac);
}

三、手写批注

近年来,许多政府部门实施办公自动化系统,随着新需求,新产品的出现,其内涵也在不停地更新与发展,从简单文件,图档数字化,电子信件的广泛采用以及协同工作,进而发展到运用现代网络信息技术,使其内涵得到一次次的更新与扩展。但并不是所有的OA系统都得到了很好的应用,在没有手写签批的OA系统中,无法真正实现无纸化办公,反而形成了半自动化,半手工的流程。为了真正实现办公的自动化,无纸化,PageOfice开发出来了在线对office文档的手写签批功能。采用PageOffice的手写技术,就可以使无纸化办公在更多场合显得简单易用,更符合人们圈阅,签批的习惯,大大方便了喜欢使用纸笔的用户。

在手写的过程中,用户用到的主要功能有:设置手写的笔型,线宽,颜色,缩放,以及撤销最近一次手写,退出手写等。主要用到的js代码如下:

//开始手写,弹出手写,弹出手写批注框
document.getElementById("PageOfficeCtrl1").HandDraw.Start(); //设置手写批注的线宽。线的宽度,值需为大于0小于10的整数。
document.getElementById("PageOfficeCtrl1").HandDraw.SetPenWidth(5); //设置手写批注的颜色,值一个BGR (Blue, Green, Red)颜色数值。
//BGR value = (blue * 65535) + (green * 255) + red。
document.getElementById("PageOfficeCtrl1").HandDraw.SetPenColor(5292104); //设置手写批注的画笔类型。1,代表钢笔;2,代表荧光笔。
document.getElementById("PageOfficeCtrl1").HandDraw.SetPenType(1); //设置手写批注的缩放率。缩放的范围是1~100之间的整数。
document.getElementById("PageOfficeCtrl1").HandDraw.SetPenZoom(50); //撤销最近一次手写批注。
document.getElementById("PageOfficeCtrl1").HandDraw.Undo(); //退出手写批注状态,关闭手写批注工具条。
document.getElementById("PageOfficeCtrl1").HandDraw.Exit(); //显示“分层手写批注”工具栏,在工具栏上显示所有做过手写批注的批注者的用户名。
//点击指定的用户名,只显示该用户的手写批注,而隐藏其他用户的手写批注。
//也可以显示全部批注,或隐藏全部批注。
document.getElementById("PageOfficeCtrl1").HandDraw.ShowLayerBar(); //设置只显示指定用户的手写批注。
//UserName为要显示或隐藏批注的用户名,该用户名一般为webOpen的第三个参数值,
//Visible是boolean类型,true为显示,false为隐藏。
document.getElementById("PageOfficeCtrl1").HandDraw.ShowByUserName(UserName, Visible ); //隐藏所有的手写批注
document.getElementById("PageOfficeCtrl1").HandDraw.ShowByUserName(null,false);

(手写批注工具栏)

(分层显示手写批注)



转载

https://blog.csdn.net/wqqqianqian/article/details/128421609

PageOffice 在线打开 word 文件实现痕迹保留、键盘批注、手写批注的更多相关文章

  1. [转载]]Java开发如何在线打开Word文件

    此方案使用了PageOffice产品实现在线打开Word文档: 1. 首先从PageOffice官网下载产品开发包,http://www.zhuozhengsoft.com/dowm/ ,下载Page ...

  2. [原创]Java开发如何在线打开Word文件

    此方案使用了PageOffice产品实现在线打开Word文档: 1. 首先从PageOffice官网下载产品开发包,http://www.zhuozhengsoft.com/dowm/ ,下载Page ...

  3. [转载]Java集成PageOffice在线打开编辑word文件 - Spring Boot

    开发环境:JDK1.8.Eclipse.Sping Boot + Thymeleaf框架. 一. 构建Sping Boot + Thymeleaf框架的项目(不再详述): 1. 新建一个maven p ...

  4. [原创]Java集成PageOffice在线打开编辑word文件 - Spring Boot

    开发环境:JDK1.8.Eclipse.Sping Boot + Thymeleaf框架. 一. 构建Sping Boot + Thymeleaf框架的项目(不再详述): 1. 新建一个maven p ...

  5. [原创]Java调用PageOffice在线打开数据库中保存的Word文件

    PageOffice产品和数据库是两个独立的概念,严格来说两者之间没有任何本质关系.PageOffice不依赖数据库而存在,但是数据库和PageOffice可以结合使用来完成某些复杂的业务逻辑.例如: ...

  6. android获取一个用于打开Word文件的intent

    近期在做项目使用webview显示后,有写文档须要打开,找了一些资料,研究了一下,弄出来了! 以下贴一下主要代码: param为文档的主要路径 public static Intent getWord ...

  7. SharePoint 2013 用IE11在线打开Word文档报错

    问题: 测试结果: ie11会报错,ie10和以下版本不会报错,chrom不会报错. jindahao

  8. [转载] Java开发在线编辑Word同时实现全文检索

    一.背景介绍 Word文档与日常办公密不可分,在实际应用中,当某一文档服务器中有很多Word文档,假如有成千上万个文档时,用户查找打开包含某些指定关键字的文档就变得很困难,一般情况下能想到的解决方案是 ...

  9. [原创]Java开发在线编辑Word同时实现全文检索

    一.背景介绍 Word文档与日常办公密不可分,在实际应用中,当某一文档服务器中有很多Word文档,假如有成千上万个文档时,用户查找打开包含某些指定关键字的文档就变得很困难,一般情况下能想到的解决方案是 ...

  10. Java 如何在线打开编辑word文档?

    在一般的OA项目中经常会遇到在线处理Office文档的需求,先下载文件,编辑保存后再选择文件上传的方式太过原始,在如今早已是Office Online的时代,没有用户能接受这种蹩脚的操作方式. 虽然微 ...

随机推荐

  1. Jetty使用入门

    社区当前推荐开发者使用Jetty 12.X版本. 依据End of Community Support for Jetty 9.x - June 2022,社区对Jetty 9.x的支持,已在2022 ...

  2. 《Spring 测试指南》:JPA、MockMvc 和 @SpringBootTest 详解

    测试 Spring 提供了一组测试工具,可以轻松地测试 Spring 应用程序的各个组件,包括控制器.服务.存储库和其他组件.它具有丰富的测试注释.实用程序类和其他功能,以帮助进行单元测试.集成测试等 ...

  3. html-testRunner中文乱码

    如下图,使用 html-testRunner 这个库生成测试报告后,出现乱码 因为  HTML文件已经写了  文件编码是  utf-8 所以 我怀疑可能是 html-testRunner 这个库文件中 ...

  4. K8S 性能优化 - K8S APIServer 调优

    前言 K8S 性能优化系列文章,本文为第二篇:Kubernetes API Server 性能优化参数最佳实践. 系列文章: <K8S 性能优化 - OS sysctl 调优> 参数一览 ...

  5. 双向链表的基本实现【数据结构与算法—TypeScript 实现】

    笔记整理自 coderwhy 『TypeScript 高阶数据结构与算法』课程 双向链表:拥有两个指针方向的链表 DoublyNode 结构: prev:指向上一个节点 value:节点值 next: ...

  6. redis 面试题整理

    前言 前天面试了一家公司,平时看一本redis书的也使用redis,对里面的东西也基本了解,结果回答的时候居然回答了只是使用了(因为认为是redis是运维的东西,做的东西多,所以忘了,好吧这是借口), ...

  7. Git 中 HEAD、工作树和索引之间的区别

    一.HEAD 在git中,可以存在很多分支,其本质上是一个指向commit对象的可变指针,而Head是一个特别的指针,是一个指向你正在工作中的本地分支的指针 简单来讲,就是你现在在哪儿,HEAD 就指 ...

  8. 【c++】类valarray介绍

    valarray类用于处理数组中的数值,如将所有元素相加,找出最大.最小值,数组长度. 如何使用valarray类: 1.首先需要声明头文件        #include<valarray&g ...

  9. JVM简明笔记3:类加载机制

    1 类的加载 类的加载指的是将类的 .class 文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个 java.lang.Class 对象,用来封装类在方法区内的数据结 ...

  10. 初接触:从创建工程到导出gerber(学习Altium Designer)

    学习Altium Designer Altium Designer的工程文件后缀为.PrjPcb,主要包含Source Documents和Libraries.Source Documents里面有S ...