使用卓正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屬性去控制這個區域是否是能夠編輯。登錄

相關文章
相關標籤/搜索