使用程序控制不一樣用戶打開文件後,只能編輯Word文檔中屬於本身的區域。用此方法開發的話,支持多我的同時打開一個文件編輯各自的區域而互不影響的。spa
在Word文檔(好比說:123.doc)中預先設置好多個數據區域(「PO_」開頭的書籤),當以表單模式(WebOpen方法的第二個參數使用docSubmitForm)打開Word文件時,只有設置了Editing屬性等於true的數據區域能夠編輯,其餘的位置都是隻讀的。當多人同時在線打開同一個文件的時候,能夠根據登陸用戶的不一樣,用程序設置不一樣的數據區域能夠編輯,好比文檔中有兩個數據區域PO_A、PO_B,當A用戶登陸系統編輯文件的時候只有數據區域PO_A的位置是能夠編輯的,當B用戶登陸系統編輯文件的時候只有PO_B的位置是能夠編輯的,這樣就能夠實現兩個用戶同時編輯一份文檔,同理多個用戶也能夠使用這種方式,而且能夠給不一樣的用戶分配不一樣數量的編輯區域,就是說,可能A用戶登陸系統後能夠編輯的數據區域可能不僅是PO_A,還能夠有PO_A二、PO_A3……,根據需求能夠靈活處理。orm
上面的方法只是實現了文件的多人在線同時編輯,還須要處理保存文件時,文件內容的同步問題,解決這個問題須要使用「把數據區域中的內容提取出來,保存爲一個子Word文檔」的功能。PageOffice的企業版能夠支持把每一個數據區域中的內容保存成一個單獨的word文檔,也就是拆分word文件,那麼在每一個用戶保存word文檔時,只把當前用戶所屬數據區域中的內容保存成子文檔,好比說A用戶保存時,只是把數據區域PO_A中的內容保存成一個單獨的word文件:a.doc;B用戶保存時,只是把數據區域PO_B中的內容保存成一個單獨的word文件:b.doc,這樣的話,主文檔123.doc無需保存,這樣一來就不會出現多人編輯的文件保存時互相覆蓋的問題。開發
最後,實現同步其餘用戶編輯的文件內容。當A用戶編輯一段時間後,須要知道其餘用戶(好比說:B用戶)的編輯狀況,那麼就須要先執行保存,把本身編輯的內容保存後,刷新,再次打開文檔123.doc,利用PageOffice能夠在數據區域插入其餘word文檔的功能,經過程序自動把a.doc、b.doc等其餘用戶保存過的內容從新插入到主文檔123.doc中,查看這份從新生成的新文檔。文檔