PageOffice 在线打开 word 文件实现痕迹保留、键盘批注、手写批注

发布时间 2023-05-31 16:11:48作者: qianxi

一、痕迹保留

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

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

image

二、键盘批注

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

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

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

主要用到的js代码:
image

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

image
主要用到的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);

(手写批注工具栏)

image

(分层显示手写批注)

image
转载
https://blog.csdn.net/wqqqianqian/article/details/128421609