4

前言

近期遇到一个需求:在android端中实现office文件预览。由于是混合app项目,采用的cordova框架,cordova也没有相关插件,因此做了一番调研,有以下几个解决方案:

  1. 用户安装第三方的office应用,如WPS等,在app中调用wps打开文件
  2. 统一把文件转成PDF文档,调用系统PDF预览/或者调用插件实现预览(文件会被先下载到本地)
  3. 使用office web apps部署(需要服务器,具体实现还需调研)
  4. android原生开发人员支撑

由于2、4项不符合项目实际情况被否决,于是对office web apps进行了一番研究,特此分享给大家。

所需资源

由于office web apps现在被微软下架了,网上基本找到不安装包,我就放在网盘中,有需要的同学可以自行下载:
链接:https://pan.baidu.com/s/1Yb22...
提取码:91qy

  1. vcredist_x64.exe - Microsoft Visual C++ 2013 Redistributable (x64)
  2. vc_redist.x64.exe - Microsoft Visual C++ 2015 Redistributable (x64)
  3. wacserverlanguagepack.exe - 汉化语言包
  4. wacserver.exe - office web apps server 安装包
  5. wacserversp2013-kb2880558-fullfile-x64-glb.exe - office web apps server 更新包

安装环境

  1. 软件:VMware WorkStation 15 player
  2. 虚拟机环境:window server 2012 (最好的系统是用 Windows Server 2012系统,因为这里面不用安装一些繁琐的更新,系统基本上自带了,只需要安装少数几个必要的程序就能完成。什么 Windows Server 2008 r2, Windows Server 2012 r2,我不建议使用。)
  3. 虚拟机使用NAT网络模式
转换文档需要两台服务器,一台为域控server,另外一台为转换server。(安装office web
apps的服务器必须加域才能安装成功)

域控服务器安装

一、 安装windows server 2012系统

Windows server 2012 产品秘钥一枚:VDNYM-JBKJ7-DC4X9-BT3QR-JHRGY。按照要求安装由GUI 的服务器。系统安装大家都会,不在赘述,安装完毕重启。

二、 部署

域控服务器的部署可以参照下面这篇文章,作者写的很详细了,只要按照步骤就可以安装成功的。
office web apps 部署-搭建域控服务器

需要注意域控服务器的IP地址配置,使用固定IP,DNS必须指向本机,设置为本机IP地址或者127.0.0.1

转换服务器安装

一、 安装windows server 2012系统

二、 部署

教程参考文章Office web apps 安装及预览office文档,对其中一些的地方做了补充和说明

2.1 加入域

  1. 修改DNS,指向域控服务器(标红处填写域控服务器IP地址)
  2. 计算机属性 - 更改设置 - 更改
  3. 更改计算机名(方便好记)并填写隶属于XX域(即域控服务器中填写的根域名)
  4. 确定

图片描述

图片描述

2.2 以管理员身份打开 Windows PowerShell 提示符,然后运行下面命令安装必需的角色和服务

Add-WindowsFeature Web-Server,Web-Mgmt-Tools,Web-Mgmt-Console,Web-WebServer,Web-Common-Http,Web-Default-Doc,Web-Static-Content,Web-Performance,Web-Stat-Compression,Web-Dyn-Compression,Web-Security,Web-Filtering,Web-Windows-Auth,Web-App-Dev,Web-Net-Ext45,Web-Asp-Net45,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Includes,InkandHandwritingServices

这段PowerShell的意思 是启用 Windows的相关的角色和功能,如墨迹手写服务,ASP.NET 4.5,IIS服务等。
回车按照要求进行选择,等一会安装完毕。如下图所示:
图片描述

安装完成后重启,切换到域控服务器,管理中选择添加服务器,名称填写转换服务器的计算机名称,立即查找。然后添加到右边,确定。

图片描述

在域控服务器中,所有服务器显示两台服务器,并都是联机状态则表示成功:
可能会出现 联机-访问被拒绝 但并无影响
图片描述

至此,服务器安装完成。

2.3 安装office web apps

安装前,先安装 Visual C++ Redistributable Packages for Visual Studio 2013
Visual C++ Redistributable for Visual Studio 2015
如果不是这两个版本则卸载后安装,否则可能会安装错误。

2.3.1 依次安装程序:

  1. wacserver.exe
  2. wacserverlanguagepack.exe(安装语言包时可能会安装失败,没关系,不成功就不安装,不影响什么)
  3. wacserversp2013-kb2880558-fullfile-x64-glb.exe

2.3.2 通过PowerShell配置Office web apps

上述安装之后重启。否则接下来的操作中,PowerShell识别不了相关的cmdlet命令。
如果不想重启的话,可以在PowerShell中键入如下命令以加载Office Web Apps管理命令集

要使用管理员方式运行

Import-Module OfficeWebApps

然后输入以下命令布署Office Web Apps

New-OfficeWebAppsFarm –InternalURL "http://OfficeWebApps.test.cn" -ExternalURL "http://192.168.52.128" –AllowHttp –EditingEnabled –OpenFromUrlEnabled

其中http://OfficeWebApps.test.cn的OfficeWebApps.test.cn 为转换服务器的计算机全名。计算机全名可以 计算机右键-属性 进行查看。

New-OfficeWebAppsFarm 的使用及各参数含义可以去微软官网查看:New-OfficeWebAppsFarm
-InternalURL:内网浏览地址 - 设置为计算机全名
-ExternalURL:外网浏览地址 - 设置为转换服务器的IP地址
-AllowHttp 允许80端口访问
-OpenFromUrlEnabled 允许通过url方式进行预览

回车,会出现提示:

图片描述

输入”y”,回车。成功的话,会返回列表信息:

图片描述

三、验证是否成功

在浏览器中输入:http://192.168.52.128,出现如下所示即为成功:
图片描述

在浏览器中输入:http://192.168.52.128/hosting...http://OfficeWebApps.test.cn/...,出现如下所示即为成功:

图片描述

文档预览测试地址:

在浏览器中输入: http://192.168.52.128/op/view...,若能预览即为成功。


jeanChueng
174 声望30 粉丝

优秀的设计师,就像是百花齐放的花丛中,最引人瞩目的一朵花;伟大的艺术家,就像是寸草不生的山顶上,供人仰望的一棵树。