浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案

摘要:
    如今,基于Web版的Office 在线预览与编辑功能已成为一种趋势,而关于该技术的实现却成为了国内大部份公司的技术挑战,挑战主要存在于两方面:    其一:目前国内乃至微软本身,还没有相对较为完善的解决方案    其二:对于开发人员来说,可查询资料甚少,即使FQ,资料也甚少    基于如上的难点与挑战,国内规模相对较大的公司就选择了SharePoint 的Office在线编辑功能,然而SharePoint 笨

    如今,基于Web版的Office 在线预览与编辑功能已成为一种趋势,而关于该技术的实现却成为了国内大部份公司的技术挑战,挑战主要存在于两方面:

    其一:目前国内乃至微软本身,还没有相对较为完善的解决方案

    其二:对于开发人员来说,可查询资料甚少,即使FQ,资料也甚少

    基于如上的难点与挑战,国内规模相对较大的公司就选择了SharePoint 的Office在线编辑功能,然而SharePoint 笨重,且对服务器要求高,除此之外,当前国际市场SharePoint技术

开发人员较少,招聘成本大。

     基于如上种种原因,微软提供了基于Web版的Office在线编辑功能。

     它除了支持SharePoint,Exchange,Lync Server等外,还支持第三方集成

浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第1张

     它提供了三个接口:

      获取文件接口

1
GET   wopi/files/{name}?access_token={access_token}

 获取文件流接口

1
GET  wopi/files/{name}/contents?access_token={access_token}

 保存文件接口

1
POST wopi/files/{name}/contents?access_token={access_token}

      如下为微软提供的服务发现

    浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第2张

     鉴于如上相关资料及微软提供解决方案,本篇文章主要讲解基于Windows Server 2012 R2+Office Online Server 2016+WebSite方式,从零开始搭建Office在线编辑功能。

本文侧重于环境搭建和demo演示,更具体的接口实现细节,将在下篇文章指出。

浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第3张

一  准备素材

浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第4张

解释如下:

01 表示Windows Server 2012 R2 更新版操作系统(Win Server 2012 R2版本也可)

02 表示Win Server 2012 R2 X64有线网络激活工具。

03 表示Win  Server 2012 R2 系统激活工具

04 表示Windows Identity Foundation 

05 表示Windows Identity Foundation 的扩展

06 表示.NET Framework 6.2

07 表示 Visual c++ Redistributable Packages for Visual Studio 2013

08 表示  Visual c++ Redistributable Packages for Visual Studio 2015

09 表示 Office Online Server 2016(以前版本叫做Office Web App Server,如cn_office_web_apps_server_2013_with_sp1_x64_dvd_3832995.iso)

10 表示 Office Online Server 2016 语言包

浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第5张Tip 友情提示

如上安装包,请尽量按照如上所标注编号顺序安装,否则会出现意想不到的错误!!!

二  安装过程

(一)01_cn_windows_server_2012_r2_with_update_x64_dvd_6052725.iso 安装

   这个网上教程比较多,属于傻瓜式一键安装,网上有很多资料可查询,这里就不累述。

(二)02_PROWinx64.exe 安装

  1.安装包下载

  首先知道自己Windows Server 版本,然后去微软官网下载对应的安装包,如我的Windows Server 2012 R2 64对应:

https://downloadcenter.intel.com/download/23073/Intel-Network-Adapter-Driver-for-Windows-Server-2012-R2-

浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第6张

   2.一键式安装

 直接点击PROWinx64.exe,实现一键安装(若系统不支持,就需要手动安装,我的就不支持,所以需要手动安装)

3.手动安装

   计算机=》右键=》属性=》设备管理器

可以看出,其他设备"以太网控制器"显示感叹号

浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第7张

选中以太网控制器,右键=》更新驱动程序软件

浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第8张

浏览计算机以查找驱动程序软件(R)

浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第9张

从计算机的设备驱动程序列表选取(L)

浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第10张

下一步

浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第11张

从磁盘安装

浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第12张

浏览PROWinx64.exe解压包,路径为:02_PROWinx64\PRO1000\Winx64\NDIS62\e1c62x64.inf

浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第13张

确定

浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第14张

 下一步

浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第15张

浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第16张

正在安装驱动

浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第17张

关闭

浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第18张

 (三)03_HEU_KMS_Activator_v11.1.0.7z 安装

  一键安装,重启电脑即可。

(四)04_Windows6.1-KB974405-x64.msu 安装

  这个表示Windows Identity Foundation x64,官网下载地址

https://www.microsoft.com/zh-CN/download/details.aspx?id=17331

浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第19张

(五)05_MicrosoftIdentityExtensions-64.msi 安装

   下载地址:https://go.microsoft.com/fwlink/p/?LinkId=620072

(六)06_NDP452-KB2901954-Web.exe 安装

   下载地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=42643

 浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第20张

(七)07_vcredist_x64_2013.exe 安装

   下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=40784

浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第21张

(八)08_vc_redist.x64_2015.exe

  下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=48145

浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第22张

 (九)09_OfficeOnlineServer2016.rar 安装

   下载地址(需要企业批量许可证):https://www.microsoft.com/Licensing/servicecenter/default.aspx

  一键安装即可。

(十)10_wacserverlanguagepack.exe 语言包

  下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=51963

浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第23张

 

三  配置过程

(一)IIS配置

    在安装IIS时,应全部选择,否则会报错:“服务器端包含”Windows 服务器功能必须安装并启用”(.NET FRAMEWORK 3.5不用安装)

添加角色和功能

浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第24张

下一步

 浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第25张

基于角色或基于功能的安装,下一步

 浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第26张

 从服务器池中选择服务器,下一步

浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第27张

 除.NET Extensibility 3.5,ASP,ASP.NET 3.5外,其他都选择安装

浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第28张

 直到安装完成即可。

(二)安装墨迹服务

安装步骤和IIS差不错,选择“墨迹和手写服务”

浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第29张

(三)AD域配置

域控配置挺简单的,参照https://jingyan.baidu.com/article/acf728fd4a7f80f8e410a353.html

注意:在配置AD域前,一定要将IP设置为固定,而非自动获取

浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第30张

(四)关闭防火墙

(三)office Online 服务器场配置

 启动服务场:输入Import-Module OfficeWebApps,回车

1
Import-Module OfficeWebApps

浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第31张

部署服务场:输入如下,回车

1
New-OfficeWebAppsFarm -InternalURL “http://xxx.com” -ExternalUrl “http://ip” -AllowHttp –EditingEnabled

浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第32张

填写"Y",回车Y

 浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第33张

再填写Y,回车

 浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第34张

显示如下,表示配置成功

 浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第35张

四  测试结果

1.检测Office Online Server 2016是否安装成功

2.服务发现

浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第36张

 3.程序部署示意图

浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案第37张

(1)HTTP80和HTTP809都是安装部署结束后,自动生成的。

(2)wopi是我部署的第三方网站,用来存放office文件的

 五  参考文献

【01】https://code.msdn.microsoft.com/Building-an-Office-Web-f98650d6

【02】https://wopi.readthedocs.io/en/latest/

六  版权区

  • 感谢您的阅读,若有不足之处,欢迎指教,共同学习、共同进步。

  • 博主网址:http://www.cnblogs.com/wangjiming/。

  • 极少部分文章利用读书、参考、引用、抄袭、复制和粘贴等多种方式整合而成的,大部分为原创。

  • 如您喜欢,麻烦推荐一下;如您有新想法,欢迎提出,邮箱:2098469527@qq.com。

  • 可以转载该博客,但必须著名博客来源。

免责声明:文章转载自《浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Java中的回调函数macbook linux 双系统,MAC Ubuntu双系统方案下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

单变量微积分笔记13——定积分

  定积分是积分的一种,是函数f(x)在区间[a,b]上的积分和的极限。这里应注意定积分与不定积分之间的关系:若定积分存在,则它是一个具体的数值(曲边梯形的面积),而不定积分是一个函数表达式,它们仅仅在数学上有一个计算关系(牛顿-莱布尼茨公式),其它一点关系都没有!一个函数,可以存在不定积分,而不存在定积分,也可以存在定积分,而不存在不定积分。一个连续函数...

excel 导入 sqlserver 字符串被截取为255长度解决方案

excel表格导入sqlserver数据表中 内容被截取为255长度的字符串。 注意:excel是通过前8行(表头的首行除外)的数据类型来判断导入数据的数据格式的,例如前8行出现整数型,那么默认就用整数型的数据读取方式导入数据,又例如前8行出现的是长度小于255的字符串类型,那么就会默认整列都是小于255的字符串,这样导入的时候长度大于255的字符串就会被...

WebRTC 之ICE浅谈

前言 ICE全称Interactive Connectivity Establishment:交互式连通建立方式。 ICE参照RFC5245建议实现,是一组基于offer/answer模式解决NAT穿越的协议集合。 它综合利用现有的STUN,TURN等协议,以更有效的方式来建立会话。 客户端侧无需关心所处网络的位置以及NAT类型,并且能够动态的发现最优的传...

@Autowired报错原因分析和4种解决方案!

上图的报错信息相信大部分程序员都遇到过,奇怪的是虽然代码报错,但丝毫不影响程序的正常执行,也就是虽然编译器 IDEA 报错,但程序却能正常的执行,那这其中的原因又是为何? ​ 报错原因分析 报错的原因首先是因为 IDEA 强大的报警机制,@Autowired 为 Spring 的注解,含义是将某类动态的注入到当前类中,如下图所示: @Autowired...

[SAP ABAP开发技术总结]面向对象OO

由于历史遗留原因,很多项目也还在使用老的ABAP过程化语句进行开发,但新的SAP很多的东西都已经通过类来实现了,比如BAPI(比类还早)、BADI、ALV,还有很多东西都了已经通过类来重写了,所以为了与时俱进,还是使用类吧 2.      面向对象... 27 2.1.           类与接口定义... 27 2.1.1.        compo...

SharePoint 2010中的沙盒解决方案(Sandboxed Solution)

当程序员使用Visual Studio 2010为SharePoint 2010创建应用程序时,可以创建两种类型的解决方案,服务器场解决方案和沙盒解决方案。比如,打开Visual Studio 2010,新建一个空白SharePoint项目,你看到的第一个界面就是如下这个对话框。 服务器场解决方案(或简称为场解决方案)和SharePoint 2...