业务系统里的Office文档如何在线编辑

在数字化转型的背景下,现代企业的诸多业务系统(合同管理系统,OA,邮件,客户管理系统等)已经可以用浏览器直接使用,但是word,excel,ppt等Office文档在业务系统中还经常以*.docx,*.xlsx,*.pptx的附件的形式存在,用户依然需要先下载到本地,然后用Office打开编辑,完成后再上传回去。那么如何实现对业务系统中Office文档的多人在线编辑,实现业务系统的体验闭环和应用创新?答案是和zOffice在线文档系统集成。

zOffice简介

  zOffice提供云端Office能力,包括word、excel、ppt三类办公文档的在线协同编辑,通过专业级的文档能力,高效的协作体验,内容级的安全管控,丰富的集成开发接口,来赋能企业的业务系统,帮助业务系统实现文档在线预览和编辑,文档操作过程全部线上进行,完成在线办公的场景闭环。

zOffice链接:https://www.filez.com/zoffice

集成介绍文档: https://lenovocloud.zbox.filez.com/l/a0OsO0

多人在线编辑的三要素:

zOffice最大化简化集成复杂度,把多人在线编辑的需求抽象成“人”、“物”、“权”三要素:

  • 人:zOffice系统需要知道当前是哪个用户正在打开编辑;
  • 物:即当前编辑的是哪个文档,zOffice系统需要能在打开的时候获取该文档的文件流,保存的时候把经过修改的文件流回传给业务系统;
  • 权:即“人”对“物”的访问权限,zOffice系统在某“人”要打开编辑某“物”的时候,需要验证该人对文档是否有读取/写回等访问权限。

以上三要素的管理和提供方都是业务系统,zOffice系统和业务系统通过约定好的前后端接口来获取三要素的信息。

根据三要素信息传递方式的不同,有两种集成方式:

方式一:“后端集成”。

    zOffice和业务系统通过约定好的服务端对服务端接口获取三要素信息。适用于业务系统服务端代码可以修改,前端代码不需要改动太多的场景。

  • 人:业务系统服务端实现 /{context}/profiles GET接口用于根据cookie返回当前用户的信息,zOffice服务端调用该接口获取用户信息,返回值示例如下:

Get http://172.16.52.223/v2/context/profiles (其中172.16.52.223假定为业务系统的服务端地址)返回

{

"id": "301",  

"display_name": "docstest02",

"email": "docstest02@lenovo.com",

"photo_url": "/testOrg/people/301.png",    

"name": "docstest02",

"job_title": ""

"org_name": "",

"org_id": "",

}

  • 物:业务系统服务端实现 /{context}/{docId}/content GET/POST接口,供zOffice获取和回传文件内容流。

  • 权:业务系统服务端实现 /{context}/{docId}/meta GET接口,供zOffice获取当前用户对当前文档的权限信息,例如针对docId为123的文档调用GET meta接口返回值示例如下:

Get http://172.16.52.223/v2/context/123/meta 返回

{

"id": "123" //必须有,

"name": "/study/Nodejs/Demo/mytest.xlsx", //必须包含文件的扩展名

"modified_at": "2020-03-25T02:57:38.000Z",//必须有

"created_by": { //必须有

"id": "301",  //必须有

"email": "docstest02@lenovo.com", // 可选

"name": "docstest02" // 可选

},

"permissions": {  //必须有

"write": "true", //必须有,控制文档是否可以被编辑

"read": "true", //必须有

“download”: false, //可选。

“print”: true //可选。

},    

"size": 9897, //必须有

}

业务系统服务端实现上述3个rest接口并且和zOffice服务端配置连通后,用户在浏览器里点击 https://oa.demo.com/docs/app/thirdparty-rest/123/edit/content 即打开zOffice在线编辑id为“123”的文档。

方式二:“前端集成”。

    zOffice系统需要的“人”“物”“权”的相关信息都从业务系统前端用url参数的形式传递给zOffice服务器。适用于业务系统的服务端代码不方便修改,前端js代码可以修改,并且业务系统已经具备了从前端上传下载文档,获取用户信息,获取权限信息等功能。

例如,用户在浏览器点击文档123时,业务系统的前端js直接构造如下的地址并用window.open或iframe src的形式打开zOffice在线编辑:

https://oa.demo.com/docs/app/driver-callback? action=edit&repoId=thirdparty&docId=123 &userinfo=xxxxxx&meta=yyyyyy&downloadUrl=zzzzzz&uploadUrl=zzzzzz

  • 人:即userinfo=xxxxxx部分,业务系统前端js代码按照上述profiles返回值格式构造好传入;
  • 物:即downloadUrl=zzzzzz 用于指定下载文件流的url;uploadUrl=zzzzzz 用于指定回传文件流的url;
  • 权:即meta=yyyyyy部分,业务系统前端js代码按照上述meta返回值格式构造好传入。

总结

综上,业务系统的开发者可以根据情况选择“后端集成”或“前端集成”的方式集成zOffice,简单快捷的实现多人在线编辑功能。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
作为ASP.NET项目的开发者,在应对用户的Word、Excel文档时,您是否迫切希望Visual Studio工具箱能有现成的Word、Excel标准ASP.NET控件可用就太好了?现在梦想已经成真,想在网页上显示编辑Word、Excel文档并且调用微软Office的强大功能,就直接从工具箱拖动一个PageOffice控件到Web页面上就可以了,就和使用常用的TextBox控件一样简单方便。 PageOffice是什么? PageOffice for ASP.NET是一款非常优秀的专业的集成微软OFFICE功能的ASP.NET控件平台,能够帮助Web开发人员轻松实现在网页中嵌入运行微软Office的特殊功能。PageOffice把微软复杂的Office编程接口(COM API) 有效地整合于 ASP.NET 环境,通过简化的.NET类库接口为开发者提供了在Web项目获得Office众多强大功能的机会,并且能够同时利用来自 .NET Framework 的开发效率和软件功能。 集成PageOffice不但能够实现在线编辑、保存真正的Office文档,而且还可以轻松实现Word、Excel文档的动态数据填充、格式控制和用户输入提交的高级复杂功能。只要集成PageOffice,您将能够轻松应对在Web项目开发中遇见的绝大部分和Office文档有关的功能和难题。您只需把精力集中在项目业务逻辑上,Office技术问题就交给PageOffice实现解决吧。 PageOffice除了提供Word/Excel动态数据填充,格式控制,Word/Excel用户输入提交,Word/Excel/PowerPoint/WPS等Office文档在线打开、只读浏览、编辑、保存等功能外,还给在线协同办公提供了强大的支持功能:可编辑区域控制,强制痕迹保留,并发编辑控制,手写批注,手写签名,圈阅签字,电子印章、动态模板套红等。 专业的MSDN风格的开发帮助,上百的示例代码,确保您的开发效率事半功倍。 运行环境 服务器端:Windows2003、Windows2008、Windows2012及Windows XP、Windows7、Windows8等(包括64位版本);.Netframework2.0及以上版本。 客户端:Windows XP、Windows Vista、Windows7、Windows8及以上版本(包括64位版本);Microsoft Office2003、2007、2010、2013;IE 6.0、7.0、8.0、9.0、10.0。 名称:PageOffice for ASP.NET专业版 2.0 下载:http://www.zhuozhengsoft.com/down/PageOffice_ASP.NET.rar 大小:13.8MB 版本:专业版 2.0

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值