一、行业背景
长久以来,在IE、Chrome 45及Firefox 53以下版本的浏览器网页中,可直接或间接调用微软免费开源的ActiveX控件DsoFramer或参考DsoFramer实现的一些收费NPAPI办公插件即可嵌入本地安装的Office桌面软件实现在线编辑或审阅Office文档。随着Windows系统及Office软件的不断升级,DsoFramer的稳定性和兼容性问题越来越多,64位浏览器不兼容,要命的是2008年以来微软再无升级版发布,也不支持国产的金山WPS等办公软件,导致其用于商业用途具有很大风险。后来有北京某聚、重庆某航等Office网页控件在DsoFramer基础上继续维护升级,然而因为技术架构大同小异,都无法克服ActiveX控件或NPAPI插件固有的缺陷,往往还需要修改终端电脑IE的默认安全设置或强制使用低版本Chrome等浏览器,实施成本高、加载运行时还经常弹警告,导致用户体验差,很难用于正式的商业场合。从2015年开始Chrome、Firefox等新生代浏览器先后取消了对NPAPI插件的支持,IE浏览器又于2022年6月份被微软直接宣告IE正式退役,至此桌面Office软件嵌入网页实现在线文档编辑的现有技术方案基本上已失效。
随着SAAS模式的兴起,纯网页实现的在线编辑Office文档成为了大家重点发力的方向,包括微软、金山、谷歌、阿里巴巴、腾讯、字节跳动等巨头在内的诸多公司纷纷发布了自己的在线Office服务并不断拓展其功能,甚至对传统OA厂家都造成了一定威胁。经过多年的发展,虽然这些在线文档服务在多人协作分享、跨平台、使用成本及便捷性、维护升级等方面具有优势,但存在的问题也着实不少,遇到系统崩溃时用户就得抓狂。相对于桌面版Office来说,在线Office服务存在一些功能缺失,需网络随时在线不说,和桌面版制作的文档格式和排版不兼容导致所见即所得效果差,文档内容复杂或表格记录大时打开缓慢甚至直接卡死,多文档同时编辑或嵌套文档难,私密性、安全性不够,在线服务器压力大,最关键的是其开放能力往往不足,导致很难整合到OA、CRM、ERP、企业网盘等系统作为子模块使用。另外,不少企业由于历史的原因都已购置了桌面版Office的长期使用授权,也整合到了自己的各种业务系统中使用,也就很难再每年付费切换到在线Office版使用,毕竟还面临要改变用户使用习惯的难题。云端在线协作编辑一时爽,需要的版式效果实现难上难,所以最好的解决办法还是在原来的桌面版Office软件之上,通过技术手段让其可顺畅运行在Chrome、Firefox、Edge、360、IE、Opera、QQ等主流版本浏览器中。
二、方案对比
实现微软Office、金山WPS等桌面软件嵌入浏览器网页实现在线编辑doc、docx、xls、xlsx、ppt、pptx、wps、et等办公文档,大体上有如下几个方案:
1、 浏览器插件方案
此方案目前只适用于IE浏览器了,网页中直接运行ActiveX控件调用桌面Office软件的自动化接口来实现。前述章节提到的免费DsoFramer及北京某聚Office控件如此,收费的北京某正、广州华某某Office控件也是如此。而在Chrome 45、Firefox 53以下版本的浏览器中,收费的重庆某航Office文档控件、江西某格Office智能文档控件在浏览器支持的NPAPI插件中再调用ActiveX控件来请求桌面Office软件的自动化接口。这些商业收费控件,自然也为满足OA等系统的需求做了一些兼容性处理,如兼容更高版本的Windows系统、微软Office、金山WPS及64位浏览器,功能扩展如智能填报内容,文档加密、版本管理、拆分合并,痕迹保留等。2015年开始在Chrome、Firefox等浏览器取消NPAPI插件支持后的技术突围过程中,江西某格Office控件表现相对突出,其基于Chrome浏览器PPAPI可信插件技术发布的新版可用于兼容44以上版本,并通过在系统驱动层拦截并修改浏览器启动参数解决了PPAPI可信插件必须通过命令行启动浏览器才支持的技术难题,因此其销售价格昂贵。然而采用底层的系统驱动技术方案可能导致操作系统蓝屏死机不说,微软对系统驱动程序管理越来越严格,数字签名证书是由期限的,一旦过期就很麻烦,况且不少单位的等级保护要求因为安全原因是不允许用系统驱动程序方案的。此外,PPAPI插件并未得到Firefox等浏览器的支持,只是一个过渡技术方案,这不Chrome在2021年初已经取消了对Flash Player PPAPI插件的支持,终止对 NaCl、PNaCl 和 PPAPI插件的支持也是迟早的事情,采用PPAPI插件技术的方案存在随时挂掉 风险。
2、 特定浏览器方案
为了应对Chrome、Firefox等浏览器取消NPPAI插件接口后的技术挑战,又希望保证原有业务系统的正常运行,一些实力较弱的公司只好推荐客户继续使用面临安全漏洞威胁的低版本Chrome或Firefox浏览器,或者推荐使用双内核的国产360浏览器并要求切换到IE内核使用。实力稍强一点的公司基于Chromium的低版本内核开发定制版浏览器来确保NPAPI插件可以继续使用,用户无法享受高版本浏览器的功能不说,低版本内核存在的安全漏洞和程序BUG也无法得到修复。然而企业信息化系统往往是非常复杂的,对浏览器的要求比较高,很可能不支持这些特定版的浏览器,所以不能因为Office文档控件只能在这些特定浏览器上运行而导致OA等系统也跟着受到限制。
3、 外接程序方案
重庆某航、北京某正、广州华某某Office控件等在NPAPI插件禁用后,纷纷采用浏览器外部协议(URL Procotol)方式来启动独立的EXE外接程序,而这个独立程序会内嵌一个IE内核用来支持ActiveX控件的加载运行,也号称兼容Chrome和Firefox等高版本浏览器运行了。这种技术实现导致在网页中每次启动Office控件时,都会弹出一个让最终用户不胜其烦的对话框来确定,如下图所示:
![](https://ask8088-private-1251520898.cn-south.myqcloud.com/developer-images/article/8915855/9bl8smyapm.png?q-sign-algorithm=sha1&q-ak=AKID2uZ1FGBdx1pNgjE3KK4YliPpzyjLZvug&q-sign-time=1660480971;1660488171&q-key-time=1660480971;1660488171&q-header-list=&q-url-param-list=&q-signature=af42d74b432333d038ea54e4ac168e7fb4d8bd6a)
![](https://ask8088-private-1251520898.cn-south.myqcloud.com/developer-images/article/8915855/3mfsxdtnud.png?q-sign-algorithm=sha1&q-ak=AKID2uZ1FGBdx1pNgjE3KK4YliPpzyjLZvug&q-sign-time=1660480971;1660488171&q-key-time=1660480971;1660488171&q-header-list=&q-url-param-list=&q-signature=4ed8899974f31474ba4402807c79add588171ec0)
用户使用体验很差,这些弹出的独立进程窗口和浏览器原来的网页窗口是完全分离的,还涉及到两个窗口之间的数据传递和控制问题,增加了系统复杂性。由于无法做到网页和文档编辑窗口融合,加上启动时的弹窗确认,使用体验还是很难让用户乐意使用的。
4、 双内核方案
此方案主要是依托Chrome等浏览器上的扩展程序IETab来实现,商业用途是需要付费使用的。其原理是通过在Chrome标签页中加载一个IE内核渲染的整个网页进行覆盖显示,这个网页再调用比如DsoFramer控件实现Office文档的编辑。由于Chrome的扩展程序必须通过谷歌或微软应用商店进行安装,导致此方案存在大规模自主可控部署难问题。而且IETab实现的效果是对整个网页生效,无法在Chrome内核网页中再实现局部加载IE内核网页来显示,况且IE对运行和下载ActiveX控件常弹出警告,用户体验很差,即使通过修改IE的默认安全设置来减少弹窗,然而这个修改设置过程也需要专业的技术人员才能完成,大幅度增加了实施成本。随着IE的正式退役,虽然调用IE内核控件还可以继续几年,但始终不是长久之计。
5、 2022年最新终极方案:
通过上述总结的现有技术方案可以看出,想要在当前主流版本的Chrome、Firefox、Edge、360、IE等浏览器网页中内嵌桌面Office软件窗口实现文档或表格在线编辑等功能,核心就在于如何在各浏览器中实现一个统一的不依赖浏览器自身扩展技术的外接系统,同时必须对各品牌及各版本的浏览器有比较好的兼容能力才具有较大的实用价值。最新方案就是在网页中指定位置和大小,模拟实现一个内嵌到网页中显示的窗口,在这个窗口中再调用桌面Office软件的自动化接口实现doc、xls、ppt等文档的操作。前端还必须可对这个窗口进行实时控制,而且窗口必须跟随浏览器的移动和缩放、网页滚动、标签页切换、关闭等操作进行自动联动。这个窗口的宿主进程同时提供Web Socket的服务端和JSON打包命令的解析执行模块,前端就可以通过Web Socket连接后发送JSON打包的控制命令实现控制此窗口的动作。此方案可以说是上述外接程序方案的升级版,关键差异在于此方案可实现内嵌Word、Excel、PowerPoint、WPS文字、WPS表格等程序窗口到网页指定区域运行的效果,而且抛弃了通过IE内核来加载ActiveX控件的方案,解决了用户体验差、加载缓慢和内存占用高的问题。另外启动这个外接程序是通过Web Socket连接实现的,也解决了每次启动都需弹窗确认的麻烦,还有就是提供了类似ActiveX控件的自动升级方案,可在网页中实现静默自动升级,并额外增加了调用验证机制确保外接程序的安全启动。此技术方案在2019年由成都佐罗软件有限公司申请了软件发明专利保护,且已有实现的成熟软件产品发布,这就是跨浏览器的原生小程序软件系统—猿大师中间件,自发布以来成功应用到电力、医疗、交通、安防、保险、工业设计等行业客户,获得了一致好评。
三、猿大师办公助手
猿大师办公助手包含猿大师中间件及基于猿大师开发的微软Office、金山WPS及永中Office小程序组成。微软Office、金山WPS及永中Office小程序都提供了丰富的二次开发接口,还可以购买这些小程序的源码后,根据自己需要进行二次开发解决个性化的需求。猿大师中间件不仅仅解决了桌面程序窗口嵌入网页使用的技术难题,还解决了分发和在线升级的难题,可实现在Chrome网页中局部加载显示的效果,启动过程无需弹窗确认,用户体验也得到了大幅度提升。
猿大师办公助手官网:http://www.yuanofficer.com/
猿大师办公助手免费下载体验地址:http://www.yuanofficer.com/xiazai/
下面是和其它同类产品的优缺点对比:
1、 技术方案兼容的浏览器多,不仅支持最新版的Chrome、Firefox、Edge等浏览器,也支持老电脑中的IE及360等国产浏览器内嵌到网页中使用,使用体验远超市场上其它同类产品;
2、 功能和开发接口丰富,包含切换打开文档、合并文档、书签操作、无缝集成电子印章、全屏编辑、追踪修改记录、本地及网络文档打开和保存、文档另存及批量打印、文档对比等等功能,还可根据客户需要随时免费添加共性功能;
3、 对Office软件的兼容能力强悍,支持微软Office 2007及以上的专业安装版,金山WPS的企业版及个人版,以及永中Office专业版等,尤其是电脑同时安装了不同品牌的Office时也能正常加载使用;
4、 授权方式灵活,可根据客户需要提供一定数量终端电脑可用的授权,在授权服务器上可灵活控制终端电脑的使用期限;也可提供不限制终端电脑数量的授权,需要绑定HTTPS网站域名或指定最终客户使用的水印使用;
5、 微软Office、金山WPS及永中Office小程序源代码,客户可根据自己需要购买,然后定制开发一些个性化的功能,实现源代码级别的自主可控;
6、 授权一次购买,终身有效,无需续费即可免费获得在线技术支持和最新版本程序包;
7、 借助猿大师中间件的支持可实现在浏览器中静默在线升级,维护成本大幅度降低,前端调用也提供了安全机制,可尽可能确保系统的安全性;
8、 不依赖任何浏览器的插件接口,浏览器的升级不会导致技术方案失效,不存在因为技术原因导致的重复购买发生;
9、 最低兼容Windows XP系统使用,推荐使用Windows 10及以上版本的32和64位桌面及服务器操作系统,随着时间的推移,增加的系统会不断增加;
10、 对前端集成的技术要求低,只需要会简单的JS脚本即可完成开发,也支持当前最流行的VUE前端框架调用,提供集成范例。
四、总结
一个好的产品,不仅仅要功能丰富,可满足客户的刚性需求,而且能稳定可靠运行,有良好的使用体验和兼容性,而且能降低集成开发、实施及维护的难度,最后需尽量保证其技术方案不能因为浏览器的升级而失效。
标签:控件,浏览器,Office,Chrome,Excel,文档,网页 From: https://www.cnblogs.com/yuandashi/p/16586288.html