使用卓正PageOffice--实现Word文档编辑区域控制

在某些状况下,业务需求须要实现不一样的用户登陆系统,打开同一个文件(没必要同时打开),能够编辑的区域不同,每一个人都有属于本身的编辑区域。web

解决思路:code

利用PageOffice能够实现这样的效果。PageOffice有一个功能就是操做数据区域,不但能够给文件中的数据区域(“PO_”开头的书签)赋值,还能够设置只读模式打开文件的时候哪些数据区域为可编辑模式。在打开文件以前先获取当前登陆用户的权限,而后根据这个用户的权限来设置这个用户打开文件以后,哪些数据区域是能够编辑的。orm

实现方式:对象

WordDocument doc = new WordDocument(); 
DataRegion dr1 = doc.openDataRegion("PO_xx");
dr1.Value = "张三"; //这句代码不是必须的
dr1.Editing = true;  //容许这个数据区域编辑
DataRegion dr2 = doc.openDataRegion("PO_yy");
dr2.Value = docCause;
dr2.Editing = false;  //禁止这个数据区域编辑
……
poCtrl1.webOpen("doc/template.doc",OpenModeType.docSubmitForm, "张三");

用提交模式打开文件,这样文件是只读的,只有设置了Editing=true的数据区域能够编辑。文档

PageOffice中的概念“数据区域 (DataRegion)”:在PageOffice的概念里“PO_”开头的书签被称为数据区域(DataRegion),用“PO_”开头来命名书签只是为了防止和用户本身的书签有冲突。it

DataRegion属性中的其中两个属性是:io

  • Value: 给数据区域赋值,举例:比方说word文件中有一个书签为:PO_Name,那么使用WordResponse对象给这个书签赋值:
OpenDataRegion("PO_Name").Value = "XXX";
  • Editing: 设置这个数据区域是否是能够编辑。设置文件打开后书签PO_Name所在的位置可编辑:
OpenDataRegion("PO_Name").Editing = true;

这个Editing属性是此次使用的重点,实现不一样的人编辑word文档中不一样的编辑区域的关键是利用word中的书签去标记编辑区域(数据区域),而后用数据区域的Editing属性去控制这个区域是否是能够编辑。登录

相关文章
相关标签/搜索