PageOffice---实现多人同时编辑一份文档

1. 功能介绍

使用程序控制不一样用户打开文件后,只能编辑Word文档中属于本身的区域。用此方法开发的话,支持多我的同时打开一个文件编辑各自的区域而互不影响的。spa

2. 如何实现多人同时编辑一份文档

在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中,查看这份从新生成的新文档。文档

相关文章
相关标签/搜索