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

本文主要是介绍浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

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

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

    基于如上的难点与挑战,国内规模相对较大的公司就选择了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在线编辑解决方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/172364

相关文章

C#实现将Excel表格转换为图片(JPG/ PNG)

《C#实现将Excel表格转换为图片(JPG/PNG)》Excel表格可能会因为不同设备或字体缺失等问题,导致格式错乱或数据显示异常,转换为图片后,能确保数据的排版等保持一致,下面我们看看如何使用C... 目录通过C# 转换Excel工作表到图片通过C# 转换指定单元格区域到图片知识扩展C# 将 Excel

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

基于Java实现回调监听工具类

《基于Java实现回调监听工具类》这篇文章主要为大家详细介绍了如何基于Java实现一个回调监听工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录监听接口类 Listenable实际用法打印结果首先,会用到 函数式接口 Consumer, 通过这个可以解耦回调方法,下面先写一个

使用Java将DOCX文档解析为Markdown文档的代码实现

《使用Java将DOCX文档解析为Markdown文档的代码实现》在现代文档处理中,Markdown(MD)因其简洁的语法和良好的可读性,逐渐成为开发者、技术写作者和内容创作者的首选格式,然而,许多文... 目录引言1. 工具和库介绍2. 安装依赖库3. 使用Apache POI解析DOCX文档4. 将解析

Qt中QGroupBox控件的实现

《Qt中QGroupBox控件的实现》QGroupBox是Qt框架中一个非常有用的控件,它主要用于组织和管理一组相关的控件,本文主要介绍了Qt中QGroupBox控件的实现,具有一定的参考价值,感兴趣... 目录引言一、基本属性二、常用方法2.1 构造函数 2.2 设置标题2.3 设置复选框模式2.4 是否

C++使用printf语句实现进制转换的示例代码

《C++使用printf语句实现进制转换的示例代码》在C语言中,printf函数可以直接实现部分进制转换功能,通过格式说明符(formatspecifier)快速输出不同进制的数值,下面给大家分享C+... 目录一、printf 原生支持的进制转换1. 十进制、八进制、十六进制转换2. 显示进制前缀3. 指

springboot整合阿里云百炼DeepSeek实现sse流式打印的操作方法

《springboot整合阿里云百炼DeepSeek实现sse流式打印的操作方法》:本文主要介绍springboot整合阿里云百炼DeepSeek实现sse流式打印,本文给大家介绍的非常详细,对大... 目录1.开通阿里云百炼,获取到key2.新建SpringBoot项目3.工具类4.启动类5.测试类6.测

Spring Boot循环依赖原理、解决方案与最佳实践(全解析)

《SpringBoot循环依赖原理、解决方案与最佳实践(全解析)》循环依赖指两个或多个Bean相互直接或间接引用,形成闭环依赖关系,:本文主要介绍SpringBoot循环依赖原理、解决方案与最... 目录一、循环依赖的本质与危害1.1 什么是循环依赖?1.2 核心危害二、Spring的三级缓存机制2.1 三

pytorch自动求梯度autograd的实现

《pytorch自动求梯度autograd的实现》autograd是一个自动微分引擎,它可以自动计算张量的梯度,本文主要介绍了pytorch自动求梯度autograd的实现,具有一定的参考价值,感兴趣... autograd是pytorch构建神经网络的核心。在 PyTorch 中,结合以下代码例子,当你

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient