历史背景

在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.特定浏览器方案

一些公司为了降低开发成本,又想继续使用公司原有系统,被迫继续使用安全漏洞较多的低版本Chrome或者360等其他低版本浏览器,低版本浏览器的安全漏洞和BUG非常多,导致Office文档控件在此基础上行使用也困难重重。

3.外接程序方案

各浏览器禁用 NPAPI插件后,各个厂商纷纷使用浏览器外部协议来 启动独立的EXE外接程序,看起来问题得到了很好的解决,但是每次运行中用户端都会弹出对话框,让用户不胜其烦。用户体验极差,如果用户此时已经打开了文档,还非常容易引起文档异常,导致文件丢失等情况。

4.双核方案

通过 Chrome等浏览器上的扩展程序IETab来实现,此方案同样会有 ActiveX控件弹窗, 用户体验很差。

最终升级方案:

通过上述4个方案可以看出,如果想在主流浏览器中打开、编辑、保存微软Office文档,核心点就在于独立于浏览器之外并且能很好兼容各浏览器。这个就是今天介绍的已经非常成熟的商业化产品—猿大师中间件。

猿大师中间件的微软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文档控件技术方案,尤其适合在内网处理复杂文档和数据量大的表格场景,以供大家技术选型参考。

在谷歌chrome、Firefox等浏览器打开、编辑、保存微软Office、金山WPS文档相关推荐

  1. 新版谷歌Chrome取消对PPAPI插件支持后,浏览器网页打开编辑保存微软Office、金山WPS文档解决方案

    最近陆续看到一些大学发布公告,谷歌Chrome取消了对PPAPI插件支持,导致某些在线Office厂家产品将无法在谷歌Chrome107及以上版本运行,被迫更换360浏览器或者使用低版本Chrome浏 ...

  2. 如何在谷歌chrome中打开、编辑、保存微软Office文档?

    历史背景 在2015年的主流浏览器版本中,因为可以直接调用微软开源的 ActiveX控件,可以实现微软Office软件的在线编辑及审阅功能,但是从2015年开始,各大主流浏览器先后取消了对 NPAPI ...

  3. Java开发在线打开编辑保存Word文件(支持多浏览器)

    Java调用PageOffice实现在线编辑保存Word文件(以jsp调用为例,支持SSM.SSH.SpringMVC等流行框架) 1. 下载PageOffice开发包:http://www.zhuo ...

  4. java开发在线打开编辑保存word文件

    Java调用logo是"P"图标的第三方插件,实现在线编辑保存Word文件(以jsp调用为例,支持SSM.SSH.SpringMVC等流行框架) 工具/原料 Eclipse或MyE ...

  5. pageOffice插件 springboot实现服务器上Word文档在线打开编辑保存

    pageOffice插件 springboot实现服务器上Word文档在线打开编辑保存 需求: 在oa系统上,想实现在线,服务器上doc,docx文档,在web打开,编辑.编辑后,可以再同步保存到服务 ...

  6. 在桌面上离线编辑Office Web Apps文档

    Would you like to edit your online documents in Office 2010 or 2007 instead of in the Office Web App ...

  7. web在线编辑word,excel,pdf插件-----WebOffice 文档控件API

    目    录 一.工作原理...5 1.1         开发流程...5 1.2         WEB页面调用控件:.6 二.接口说明...7 2.1         接口...7 2.1.1  ...

  8. PDF文件能编辑吗,怎么删除PDF文档中的空白页

    有时候我们接触的文件是PDF格式,到遇到文件中夹杂的有空白页面需要进行删除的时候,这个时候我们应该怎么操作呢,有些小伙伴不知道PDF文件能不能编辑,小编来告诉你,PDF文件是可以编辑的,但PDF文件的 ...

  9. java计算机毕业设计工作流流程编辑OA系统MyBatis+系统+LW文档+源码+调试部署

    java计算机毕业设计工作流流程编辑OA系统MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计工作流流程编辑OA系统MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: ...

  10. word打开wps文件乱码_Word打开WPS文档成乱码怎么办

    Word打开WPS文档成乱码怎么办 最近一位同事拿来一篇WPS做的论文,请我帮他修改后再打印出来,我的电脑中安装的字处理软件是Word XP.记得Office XP中自带了WPS文档转换器,一向没机会 ...

最新文章

  1. Exchange 2010向外网发邮件的配置
  2. java IO之 File类+字节流 (输入输出 缓冲流 异常处理)
  3. PM2.5检测 -- PMS7003 采集和 MQTT 传输
  4. JAVA抽象类为什么可以有构造_抽象类为什么可以有构造函数?- Constructor of an abstract class in C#(转载)...
  5. IOS开发基础之网易新闻环境搭建异步请求json,AFN网络封装第1天
  6. 上传文件和提交textfield_0基础掌握Django框架(37)文件上传
  7. centos修改磁盘uuid_为什么MySQL用uuid做主键会被骂?
  8. 演练 望炉山瀑布文字样式 0929
  9. 动态卷积:自适应调整卷积参数,显著提升模型表达能力 CVPR 2020
  10. Facebook热门应用被曝向第三方提供用户信息
  11. C# 二进制数据、图片存入、读出 sql server 数据库
  12. html动态资源加载进度,JavaScript_快速解决js动态改变dom元素属性后页面及时渲染的问题,今天实现一个进度条加载过程 - phpStudy...
  13. 被苹果摆了一道的高通,亮出了一张“小米”牌
  14. 一台电子计算机埃尼阿克的介绍,世界之最——第一台电子计算机
  15. android平台数字看板,数据看板
  16. IE浏览器设置UserAgent
  17. 利用NCBIdatasets批量下载大规模生信数据集
  18. Master HA彻底解密
  19. qq侧滑界面的实现(DreawerLayout)
  20. linux下使用PulseAudio获取扬声器的音量和是否静音(C++)

热门文章

  1. Vb股票实时交易数据采集源码
  2. 在MT4上使用双线MACD指标源码
  3. 书单 | 专为程序员而写的数学书
  4. python可视化拖拽编程平台_PythonEditor可视化拼插编辑器:编程不用写代码,拖拖拽拽就可以!...
  5. JAVA计算机毕业设计幼儿园管理系统Mybatis+系统+数据库+调试部署
  6. JavaScript函数的参数
  7. vue中引入高德地图获取坐标
  8. Android 实现微信扫码登陆功能-详细教程
  9. 2021年5月软考网络工程师上午真题(带答案解析)上
  10. 软考网络工程师备考经验分享