1:需求
案例分析: 員工寫了一篇文案 . 需要各位上司需要填寫各自的意見 .
2:方案:
不同的使用者編輯不同區域的方法,
核心思想: pageoffice 提供了指定區域是否可編輯的方法
在這兒解釋一下DataRegion.
DataRegion也就是word 文檔中的書簽.可以看看下面連結中DataRegion具體的描述
https://www.kancloud.cn/pageoffice_course_group/pageoffice_course/663125
3:具體代碼
(1):調用PageOffice線上打開word檔案,比如:test.doc
(2):設定不同的使用者編輯不同的區域(設定資料區域是否可編輯)
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 模式