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

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

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

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

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

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

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

它提供了三个接口:

获取文件接口

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

 获取文件流接口

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

 保存文件接口

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

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

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

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

一  准备素材

解释如下:

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 语言包

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-

2.一键式安装

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

3.手动安装

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

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

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

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

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

下一步

从磁盘安装

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

确定

下一步

正在安装驱动

关闭

(三)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

(五)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

(七)07_vcredist_x64_2013.exe 安装

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

(八)08_vc_redist.x64_2015.exe

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

(九)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

三  配置过程

(一)IIS配置

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

添加角色和功能

下一步

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

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

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

直到安装完成即可。

(二)安装墨迹服务

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

(三)AD域配置

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

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

(四)关闭防火墙

(三)office Online 服务器场配置

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

Import-Module OfficeWebApps

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

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

填写"Y",回车Y

再填写Y,回车

显示如下,表示配置成功

四  测试结果

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

2.服务发现

3.程序部署示意图

(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在线编辑解决方案的更多相关文章

  1. 浅谈关于QT中Webkit内核浏览器

    关于QT中Webkit内核浏览器是本文要介绍的内容,主要是来学习QT中webkit中浏览器的使用.提起WebKit,大家自然而然地想到浏览器.作为浏览器内部的主要构件,WebKit的主要工作是渲染.给 ...

  2. 浅谈传输层协议TCP和UDP

    在当今因特网的层次结构中,传输层的协议主要有两种,其一为Transmission Control Protocol,即TCP:其二为User Datagram Protocol,即UDP. 1.TCP ...

  3. 浅谈CSRF(Cross-site request forgery)跨站请求伪造

    本文目录 CSRF是什么 CSRF攻击原理 CSRF攻击防范 CSRF是什么 CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack” ...

  4. 浅谈基于Prism的软件系统的架构设计

    很早就想写这么一篇文章来对近几年使用Prism框架来设计软件来做一次深入的分析了,但直到最近才开始整理,说到软件系统的设计这里面有太多的学问,只有经过大量的探索才能够设计出好的软件产品,就本人的理解, ...

  5. 测试那些事儿—浅谈TCP/IP协议

    TCP/IP协议是一系列网络协议的总和,是构成网络通信的核心骨架. TCP/IP的工作原理通俗的讲就是一个主机的数据要经过哪些过程才能发送到对方的主机上. TCP/IP协议采用四层结构,分别为应用层, ...

  6. 浅谈基于FormsAuthentication的认证

    一般情况下,在我们做访问权限管理的时候,会把用户的正确登录后的基本信息保存在Session中,以后用户每次请求页面或接口数据的时候,拿到 Session中存储的用户基本信息,查看比较他有没有登录和能否 ...

  7. 浅谈基于Linux的Redis环境搭建

    本篇文章主要讲解基于Linux环境的Redis服务搭建,Redis服务配置.客户端访问和防火强配置等技术,适合具有一定Linux基础和Redis基础的读者阅读. 一  Redis服务搭建 1.在根路径 ...

  8. 浅谈基于Intellij IDEA Maven的配置与使用

    在java开发中,引入jar包的方式从种类上划分,可分为自动导入和手动导入,然而,手动导入繁琐,不是很适合当前开发模式,手动导入也被自动导入所取代. 当前,Maven和Gradle是比较主流的自动导入 ...

  9. 浅谈 django Models中的跨表

    跨表操作在数据库操作非常常用,虽然其会降低读取数据的性能,但是它能节约数据在硬盘中的占用,优化数据表的结构和各自之间的关系. 在sql中,一般跨表需要用到 join 关键字 select * from ...

随机推荐

  1. Greenplum 日常维护手册 (汇总、点评、备查)

    1. 数据库启动:gpstart常用可参数: -a : 直接启动,不提示终端用户输入确认-m:只启动master 实例,主要在故障处理时使用2. 数据库停止:gpstop:常用可参数:-a:直接停止, ...

  2. rem 是如何实现自适应布局的

    摘要:rem是相对于根元素<html>,这样就意味着,我们只需要在根元素确定一个px字号,则可以来算出元素的宽高.本文讲的是如何使用rem实现自适应.· rem这是个低调的css单位,近一 ...

  3. ExtJS中获取选中行的数据

    listeners: { select:function(rowModel,record){ var data = rowModel.getLastSelected(); console.log(&q ...

  4. Eclipse的application.properties文件输出中文成unicode编码

    今天添application.properties时,无法输入中文,输入的中文直接变成了unicode的编码形式.原因是Eclipse的Spring Properties文件的默认编码为iso-885 ...

  5. 项目设计day1

    项目内容:一个实时监控斗鱼TV某个主播弹幕的设计 通过python爬虫获取当前弹幕,通过flume采集数据,接下来数据分为线上和线下两种方案: 线上:实时分析,分为两种方案:(1) flume+kaf ...

  6. UDF函数 解码url

    背景 URL 的编码 是ASCII十六进制格式.数仓接受到前端上报的URL,要对URL字段解码. 如要将 https"Fmybook.do%3Frequest_type%3D%26type% ...

  7. 使用Spring+MySql实现读写分离(二)spring整合多数据库

    紧接着上一章,因为现在做的项目还是以spring为主要的容器管理框架,所以写以下spring如何整合多个数据源. 1. 背景 我们一般应用对数据库而言都是“读多写少”,也就说对数据库读取数据的压力比较 ...

  8. 算法与数据结构(一) 线性表的顺序存储与链式存储(Swift版)

    温故而知新,在接下来的几篇博客中,将会系统的对数据结构的相关内容进行回顾并总结.数据结构乃编程的基础呢,还是要不时拿出来翻一翻回顾一下.当然数据结构相关博客中我们以Swift语言来实现.因为Swift ...

  9. Java核心技术卷一基础知识-第8章-事件处理-读书笔记

    第8章 事件处理 本章内容: * 事件处理基础 * 动作 * 鼠标事件 * AWT事件继承层次 8.1 事件处理基础 在AWT所知的事件范围内,完全可以控制事件从事件源(event source)例如 ...

  10. vi命令详解(转)

    vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的任何版本,vi编辑器是完全相 ...