前言
近期遇到一个需求:在android端中实现office文件预览。由于是混合app项目,采用的cordova框架,cordova也没有相关插件,因此做了一番调研,有以下几个解决方案:
- 用户安装第三方的office应用,如WPS等,在app中调用wps打开文件
- 统一把文件转成PDF文档,调用系统PDF预览/或者调用插件实现预览(文件会被先下载到本地)
- 使用office web apps部署(需要服务器,具体实现还需调研)
- android原生开发人员支撑
由于2、4项不符合项目实际情况被否决,于是对office web apps进行了一番研究,特此分享给大家。
所需资源
由于office web apps现在被微软下架了,网上基本找到不安装包,我就放在网盘中,有需要的同学可以自行下载:
链接:https://pan.baidu.com/s/1Yb22...
提取码:91qy
- vcredist_x64.exe - Microsoft Visual C++ 2013 Redistributable (x64)
- vc_redist.x64.exe - Microsoft Visual C++ 2015 Redistributable (x64)
- wacserverlanguagepack.exe - 汉化语言包
- wacserver.exe - office web apps server 安装包
- wacserversp2013-kb2880558-fullfile-x64-glb.exe - office web apps server 更新包
安装环境
- 软件:VMware WorkStation 15 player
- 虚拟机环境:window server 2012 (最好的系统是用 Windows Server 2012系统,因为这里面不用安装一些繁琐的更新,系统基本上自带了,只需要安装少数几个必要的程序就能完成。什么 Windows Server 2008 r2, Windows Server 2012 r2,我不建议使用。)
- 虚拟机使用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 加入域
- 修改DNS,指向域控服务器(标红处填写域控服务器IP地址)
- 计算机属性 - 更改设置 - 更改
- 更改计算机名(方便好记)并填写隶属于XX域(即域控服务器中填写的根域名)
- 确定
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 依次安装程序:
- wacserver.exe
- wacserverlanguagepack.exe(安装语言包时可能会安装失败,没关系,不成功就不安装,不影响什么)
- 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...,若能预览即为成功。