如何在chrome中直接打开、编辑、保存WordExcelPPT等Office
⽂档?
历史背景
在2015年的主流浏览器版本中,因为可以直接调⽤微软开源的 ActiveX控件,可以实现微软Office软件的在线编辑及审阅功能,但是从2015年开始,各⼤主流浏览器先后取消了对 NPAPI插件,导致在线编辑Office软件成为了⼀个难题。虽然后来有商业公司开发的相关控件,但是还是⽆法克服ActiveX控件固有的缺陷,不仅限制了浏览器的版本,还需要⽤户单独设置浏览器安全设置,导致⽤户体验极差。
后来随着SAAS模式的兴起,⽹页在线编辑⽂档也越来越流⾏,很多巨头公司都发布了在线Office服务,虽然这些服务在多⼈协作、跨平台等⽅⾯有优势,但是存在的问题也很多,⽐如桌⾯版Office就存在⼀些功能缺失:需要⽹络随时保持在线、不能保存桌⾯⽣成的⽂档、表格过⼤打开的时候卡死、多⽂档同时编辑板式不⼀致等,最关键的是在线Office服务很难整合到⾃⼰公司的OA、GRM、ERP中去,最好的办法还是需要在桌⾯Office基础上,通过技术⼿段让其流畅的运⾏在 Chrome、Firefox、Edge、360、Opera、QQ等主流版本浏览器中。
现有⽅案
1.浏览器插件⽅案
此⽅案只适⽤于IE浏览器,通过在⽹页中直接运⾏ActiveX控件调⽤桌⾯Office软件的⾃动化接⼝来实现,免费DsoFramer及点聚WebOffice 控件都是基于此原理,另外⼀些收费的如:重庆软航NTKO Office⽂档控件、北京卓正PageOffice、⼴州华尔太WebOffice控件也是基于此原理。2021年初随着Chrome 对 Flash Player PPAPI插件的⽀持,浏览器插件的⽅案就彻底失效了。
2.特定浏览器⽅案
浏览器的activex控件⼀些公司为了降低开发成本,⼜想继续使⽤公司原有系统,被迫继续使⽤安全漏洞较多的低版本Chrome或者360等其他低版本浏览器,低版本浏览器的安全漏洞和BUG⾮常多,导致Office⽂档控件在此基础上⾏使⽤也困难重重。
3.外接程序⽅案
各浏览器禁⽤ NPAPI插件后,各个⼚商纷纷使⽤浏览器外部协议来启动独⽴的EXE外接程序,看起来问题得到了很好的解决,但是每次运⾏中⽤户端都会弹出对话框,让⽤户不胜其烦。⽤户体验极差,如果⽤户此时已经打开了⽂档,还⾮常容易引起⽂档异常,导致⽂件丢失等情况。
4.双核⽅案
通过 Chrome等浏览器上的扩展程序IETab来实现,此⽅案同样会有 ActiveX控件弹窗,⽤户体验很差。
最终升级⽅案:
猿⼤师中间件的微软Office⽹页⼩程序如何解决的呢?
原理就是在⽹页中指定位置和⼤⼩,模拟实现⼀个内嵌到⽹页中显⽰的窗⼝,在这个窗⼝中再调⽤桌⾯Office软件的⾃动化接⼝实现doc、xls、ppt等⽂档的操作。
前端还必须可对这个窗⼝进⾏实时控制,⽽且窗⼝必须跟随浏览器的移动和缩放、⽹页滚动、标签页切换、关闭等操作进⾏⾃动联动。这个窗⼝的宿主进程同时提供Web Socket的服务端和JSON打包命令的解析执⾏模块,前端就可以通过Web Socket连接后发送JSON打包的控制命令实现控制此窗⼝的动作。此⽅案可以说是上述外接程序⽅案的升级版,关键差异在于此⽅案可实现内嵌Word、Excel、PowerPoint、WPS⽂字、WPS表格等程序窗⼝到⽹页指定区域运⾏的效果,⽽且抛弃了通过IE内核来加载ActiveX控件的⽅案,解决了⽤户体验差、加载缓慢和内存占⽤⾼的问题。另外启动这个外接程序是通过Web Socket连接实现的,也解决了每次启动都会弹提⽰的烦恼问题,还有就是提供了类似ActiveX控件的⾃动升级⽅案,可在⽹页中实现静默⾃动升级,并额外增加了调⽤验证机制确保外接程序的安全启动。
另外猿⼤师中间件的微软Office⽹页⼩程序提供了丰富的⼆次开发接⼝,对现有系统改动⽐较⼩的前提下,请求启动IE控件⼩程序加载即可。
总结:
⼀个好的技术实施⽅案,⾸先是要满⾜客户的刚性需求,其次是尽量降低采购、开发、实施及维护的总成本,再次是要有良好的兼容性和稳定性,最后需尽量确保技术⽅案不能因为浏览器的升级⽽失效。本⽂基于当前最新的技术信息和实践经验,给⼤家提供了猿⼤师中间件搭配Office⽹页⼩程序这样⼀个稳定可靠、体验好、兼容性佳的桌⾯Office⽂档控件技术⽅案,尤其适合在内⽹处理复杂⽂档和数据量⼤的表格场景,以供⼤家技术选型参考。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论