文档章节

在线文档预览方案-office web apps

悦亮工作室
 悦亮工作室
发布于 2016/03/04 15:23
字数 1903
阅读 223
收藏 2

最近在做项目时,要在手机端实现在线文档预览的功能。于是百度了一下实现方案,大致是将文档转换成pdf,然后在通过插件实现预览。这些方案没有具体实现代码,也没有在线预览的地址,再加上项目时间紧迫。只能考虑其它方案,这时微软的office web apps方案映入眼帘,于是和同事一起用一台PC机折腾了几天终于完成了部署,希望通过本篇记录下安装过程和遇到的坑。目前使用该方案的有 明道 微软,我部署的服务地址:http://myscloud.vicp.cc/op/generate.aspx 下面是在线预览的效果图。

  使用该方案的好处:

  1.现有代码改动量很小,几乎可以忽略不计。

  2.无需自己写代码,只需一台服务器即可

  3.支持文档类型很全面,doc,ppt,xls,docx,pptx,xlsx,pdf。

  4.手机和pc都支持,支持文档缓存,分页浏览。

  

阅读目录

回到顶部

安装部署步骤

  介绍完特性以后,下面介绍服务的暗转部署。个人感觉初次部署可能会觉得比较困难,因为这个服务限制还是很多的。

服务器环境要求

  1.转换文档需要两台服务器,一台为转换server,另外一台为域控server。(安装office web apps的服务器必须加域才能安装成功,如果没有加域后面步骤会出现错误,疑难问题里面会介绍)

  2.系统要求为widow server2008R2 64bit或者以上,NET Framework 4.5,KB2592525,Windows PowerShell 3.0,IIS,保证80 443 809端口不被占用,确保当前机器没有安装office,确保当前机器没有安装Exchange,sharepoint,lync server,sql server

  3.服务器带宽和内存越高越好,测试发现比较耗性能,原因得从服务的实现原理上讲起。office web apps服务会通过用户提供的文档src,从src服务器上把文档下载下来,然后进行转换,根据文档名称进行缓存,转换完成以后返回。 带宽越大下载过程使用的时间越短,服务器性能越好转换速度越快。

  

  域控服务器安装这里就不介绍了,有需要的可以参考域服务器安装部署这篇文章。

软件准备

  1.本文安装步骤所需的软件我都放在百度云盘了,可以进行下载。下载地址:http://pan.baidu.com/s/1o6tCo8y#path=%252Foffice%2520web%2520apps

 步骤

  下面的安装步骤很重要,不按顺序安装可能出现未知错误,很难解决,所以建议按照下面步骤进行安装。

  1.安装.net framework4.5

  2.安装iis7

  打开服务器管理,添加角色

这里说明一点,把这些功能全部都勾上,后面运行命令的时候会用到。

 3.安装补丁

  Windows Server 2008 R2 x64 Edition 更新程序 (KB2592525)_Windows6.1-KB2592525-x64.msu

 4.安装powershell

  Windows6.1-KB2506143-x64.msu

 5.安装墨迹支持

  服务器管理,添加功能

  6.安装office web apps

  官网下载URLhttp://download.microsoft.com/do ... D8639/wacserver.exe

  

    7.安装office web apps语言包

  wacserverlanguagepack.exe

  8.安装office web apps sp1补丁包

  9.通过PowerShell配置Office web apps

  这个步骤是最容易出错的,记得要使用域账户右键管理员方式运行

Import-Module OfficeWebApps
New-OfficeWebAppsFarm -InternalURL http://xx.domin.com  -ExternalURL http://xx.domin.com  -AllowHttp -EditingEnabled -OpenFromUrlEnabled

 New-OfficeWebAppsFarm 的使用及各参数含义可以去微软官网查看:http://technet.microsoft.com/zh-cn/library/jj219436.aspx

-InternalURL:内网浏览地址,http://xx.domin.com 其中 xx表示计算机名 domin.com 表示域名

-ExternalURL:外网浏览地址

-AllowHttp 允许80端口访问

-OpenFromUrlEnabled 允许通过url方式进行预览

-CacheLocation  缓存文件存放路径 默认是C:\ProgramData\Microsoft\OfficeWebApps\Working\d 

-CacheSizeInGB  最大缓存文件大小 单位GB 默认为15GB

关于-InternalURL的怎么设置,可以计算机右键-》属性进行查看  计算机全名则是需要的地址

执行完命令就可以在iis中查看了,可以看到自动添加了两个站点,通过上面的地址http://xx.domin.com 进行浏览,出现下面的界面则表示整个安装完成了。

使用过程中如果想修改服务配置,可以通过Set-OfficeWebAppsFarm命令进行修改

Set-OfficeWebAppsFarm -AllowHttp

 我这边装完以后通过花生壳映射了一个外网地址,大家可以访问预览(网络可能不稳定)。http://myscloud.vicp.cc/op/generate.aspx

回到顶部

使用示例

    安装完成office web apps以后,你可以采用以下方式实现在线预览。

复制代码

//在线预览服务地址var strOfficeApps="https://docview.mingdao.com";//文档地址,需要外网能访问var strFileUrl="http://74881.vhost65.cloudvhost.net/doc/test.docx";var strUrl =strOfficeApps+"/op/embed.aspx/src="+encodeURIComponent(strFileUrl);

复制代码

  这样生成的地址即可以在浏览器中预览了,你可以把这个地址嵌入到iframe中进行使用

<iframe src='strUrl' width='476px' height='288px' frameborder='0'>This is an embedded <a target='_blank' href='http://office.com'>Microsoft Office</a> document, powered by <a target='_blank' href='http://office.com/webapps'>Office Web Apps</a>.</iframe>

 

回到顶部

服务器部署疑难问题

    下面列举一下安装部署过程中出现的几个问题及解决办法

  1.New-OfficeWebAppsFarm : 登录失败: 未知的用户名或错误密码

复制代码

PS C:\Users\Administrator> New-OfficeWebAppsFarm -InternalURL "http://xxxx" -AllowHttp -EditingEnabled
New-OfficeWebAppsFarm : 登录失败: 未知的用户名或错误密码。
所在位置 行:1 字符: 1+ New-OfficeWebAppsFarm -InternalURL "http://xxxx" -AllowHttp -EditingE ...+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [New-OfficeWebAppsFarm], AuthenticationException    + FullyQualifiedErrorId : System.Security.Authentication.AuthenticationException,Microsoft.Office.Web.Apps.Adminis
   tration.NewFarmCommand


如果碰到这种问题,可能是使用的本地账户登录的,需要切换到域账户下面操作。

复制代码

 2.HTTP 错误 500.21

复制代码

访问  http: -.\aspnet_regiis.exe  -...
iisreset /restart /

复制代码

 3.文件太大解决方案(>10M)

 服务默认支持的最大文件大小是10M,大于10M会报错。可以通过以下步骤解决此问题

 

复制代码

--- OpenFromUrlHost ---=(System.String)/oh

在默认内容后添加(512000/1024M,可以根据自己的需求设定)

复制代码

 4.文档地址为ip不是域名的预览报错解决方案

  比如文档地址为http://10.5.192.168/A.docx 这个时候预览会报错 ,而相应的地址为http://mydoc.com/A.docx 域名的则是好的。这个问题估计是微软自己的安全验证问题,为了解决此问题我采取了一种地址转发的方式。

  步骤:在Http80站点下添加转发应用程序,站点文件路径一定要选在C:\Windows\System32\drivers\etc 下,并且赋予读写权限,为了方便修改hosts文件

   正常预览访问的是:http://mydoc.com/op/embed.aspx/src=文档地址,现在改为http://mydoc.com/Redirect/embed.aspx/src=文档地址

代码会判断如果是ip则在hosts添加ip和域名的映射关系

Redirect站点代码下载地址:Redirect站点

回到顶部

总结

  整个方案不需要自己额外写代码,麻烦的地方在于安装部署,出现错误很难排查,主要还是因为资料少。所以建议安装到office web apps步骤时,用ghost工具备份一下系统,以免出错从头开始安装。

  如果你在安装过程中遇到奇怪的错误并且解决了,希望可以告诉我一下,以供我补充完善疑难问题这一项。目前该方案已经在购买服务器实施的过程中,有需要实现在线文档预览的可以考虑使用。


本文转载自:http://www.cnblogs.com/yanweidie/p/4516164.html

共有 人打赏支持
悦亮工作室
粉丝 9
博文 36
码字总数 6719
作品 0
闵行
程序员
私信 提问
加载中

评论(3)

悦亮工作室
悦亮工作室

引用来自“RebeccaZhong”的评论

有没有遇到这样的错误:
New-OfficeWebAppsFarm:操作失败。服务器不满足以下先决条件:
-“windows身份验证”Windows服务器功能必须安装并启用。
所在位置 行1 字符1
+New-OfficeWebAppsFarm
+~~~~~~~~~~~~~~~~~
+CatagoryInfo :Notinstalled: (:) [New-OfficeWebAppsFarm], InvalidOperationException
+FullQualifiedErrorId:PrerequisiteFailure,Microsoft.Office.Web.Apps.Administration.NewFarmCommand
以域控管理员操作
R
RebeccaZhong
有没有遇到这样的错误:
New-OfficeWebAppsFarm:操作失败。服务器不满足以下先决条件:
-“windows身份验证”Windows服务器功能必须安装并启用。
所在位置 行1 字符1
+New-OfficeWebAppsFarm
+~~~~~~~~~~~~~~~~~
+CatagoryInfo :Notinstalled: (:) [New-OfficeWebAppsFarm], InvalidOperationException
+FullQualifiedErrorId:PrerequisiteFailure,Microsoft.Office.Web.Apps.Administration.NewFarmCommand
R
RebeccaZhong
有没有遇到这样的错误:
Office web apps 服务器运行一段时间之后CPU就是达到100%

office web apps服务器部署两台,采用服务器场的方式实现高可用,主要为Lync server 2013 提供共享PPT; exchange 2013、SharePoint 2013提供在线预览word、PPT、excel。 原因分析(Cause) ...

杰克斯帕罗
2017/11/02
0
0
ASP.NET Core 2.0集成Office Online Server(OWAS)实现word/excel/ppt/pdf文档在线预览与编辑

Office Online Server是微软开发的一套基于Office实现在线文档预览编辑的技术框架,其客户端通过WebApi方式可集成到自已的应用中,支持Java、C#等语言。Office Online Server原名为:Office ...

Andre-Hub
2018/08/28
0
0
毕升锐适/onlyoffice

onlyoffice ibisheng 毕升文档| 多人协同编辑 | 在线Office| onlyOffice 毕升文档在线文件服务部分的Office在线编辑预览使用优秀的开源项目onlyOffice,根据开源协议我们将毕升修改过的sdkjs...

毕升锐适
03/05
0
0
ASP.NET Core 2.0集成Office Online Server(OWAS)实现办公文档的在线预览与编辑(支持word\excel\ppt\pdf等格式)

Office Online Server是微软开发的一套基于Office实现在线文档预览编辑的技术框架(支持当前主流的浏览器,且浏览器上无需安装任何插件,支持word、excel、ppt、pdf等文档格式),其客户端通...

Andre-Hub
2018/08/29
0
0
Web 版 Office 2010 抢先评测

微软今天正式对外宣布 Office Web Apps on SkyDrive 启用。目前,美国、英国、加拿大和爱尔兰用户使用 Windows Live ID 即可访问。虽然在微软宣布的首批可使用 Office Web Apps 的国家列表中...

技术小胖子
2017/11/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Vue.js开发环境搭建说明(mac)

vue开发环境搭建(mac) 投影放大:cmd + + 安装Node 下载Node 官网下载 https://nodejs.org/en/download/ 安装Node 双击安装包,选择安装目录,比如: /usr/local/bin 安装成功后最好记录一...

Danni3
29分钟前
2
0
Qt编写自定义控件3-速度仪表盘

前言 速度仪表盘,写作之初的本意是用来展示当前测试的网速用的,三色圆环+数码管显示当前速度,Qt自带了数码管控件QLCDNumber,直接集成即可,同时还带有动画功能,其实也可以用在汽车+工业...

飞扬青云
34分钟前
2
0
【论文阅读】Image Super-Resolution via Deep Recursive Residual Network

题目:通过深度递归残差网络实现图像的超分辨率 摘要: 近年来,基于卷积神经网络的模型在单张图像的超分辨率上已经取得了巨大的成功。由于深度网络的强大,这些CNN模型学习了从低分辨率输入...

云烟成雨forever
36分钟前
2
0
为什么强烈建议大家使用枚举来实现单例

关于单例模式,我的博客中有很多文章介绍过。作为23种设计模式中最为常用的设计模式,单例模式并没有想象的那么简单。因为在设计单例的时候要考虑很多问题,比如线程安全问题、序列化对单例的...

群星纪元
55分钟前
14
0
Confluence 6 超过当前许可证期限进行升级

这个页面将会对你在进行 Confluence 升级的时候超过了当前许可证的期限进行升级的情况。 许可证警告 在升级的过程中,你将会在 Confluence 的应用程序日志(log file)中看到类似下面的错误提...

honeymoose
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部