1:需求web
案例分析: 员工写了一篇文案 . 须要各位领导须要填写各自的意见 .服务器
2:方案:code
不一样的用户编辑不一样区域的方法, orm
核心思想: pageoffice 提供了指定区域是否可编辑的方法server
在这儿解释一下DataRegion.
DataRegion也就是word 文档中的书签.能够看看下面连接中DataRegion具体的描述blog
https://www.kancloud.cn/pageoffice_course_group/pageoffice_course/663125文档
3:具体代码get
(1):调用PageOffice在线打开word文件,好比:test.docit
(2):设置不一样的用户编辑不一样的区域(设置数据区域是否可编辑)io
String userName = request.getParameter("userName"); //***************************卓正PageOffice组件的使用******************************** WordDocument doc = new WordDocument(); //打开数据区域 DataRegion dTitle = doc.openDataRegion("PO_title"); //给数据区域赋值 dTitle.setValue("某公司第二季度产量报表"); //设置数据区域可编辑性 dTitle.setEditing(false);//数据区域不可编辑 DataRegion dA1 = doc.openDataRegion("PO_A_pro1"); DataRegion dA2 = doc.openDataRegion("PO_A_pro2"); DataRegion dB1 = doc.openDataRegion("PO_B_pro1"); DataRegion dB2 = doc.openDataRegion("PO_B_pro2"); //根据登陆用户名设置数据区域可编辑性 //A部门经理登陆后 if (userName.equals("zhangsan")) { userName = "A部门经理"; dA1.setEditing(true); dA2.setEditing(true); dB1.setEditing(false); dB2.setEditing(false); } //B部门经理登陆后 else { userName = "B部门经理"; dB1.setEditing(true); dB2.setEditing(true); dA1.setEditing(false); dA2.setEditing(false); } PageOfficeCtrl poCtrl = new PageOfficeCtrl(request); poCtrl.setWriter(doc); //设置服务器页面 poCtrl.setServerPage(request.getContextPath()+"/poserver.zz"); //此行必须 poCtrl.setMenubar(false); //设置文档打开方式 poCtrl.webOpen("doc/test.doc", OpenModeType.docSubmitForm, userName); ******必须用submit 模式