[转载]在线文档预览方案-Office Web Apps
最近在做项目时,要在手机端实现在线文档预览的功能。于是百度了一下实现方案,大致是将文档转换成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
官网下载URL:http://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.Administration.NewFarmCommand如果碰到这种问题,可能是使用的本地账户登录的,需要切换到域账户下面操作。
2.HTTP 错误 500.21
访问 http://xxxx/hosting/discoveryHTTP 错误 500.21 - Internal Server Error 处理程序“DiscoveryService”在其模块列表中有一个错误模块“ManagedPipelineHandler” 出现这种错误是第一步安装的.net framework4.5未在iis中注册导致的,以管理员方式打开cmd,运行以下命令cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319.\aspnet_regiis.exe -iru Microsoft (R) ASP.NET RegIIS 版本 4.0.30319.17929 用于在本地计算机上安装和卸载 ASP.NET 的管理实用工具。 版权所有(C) Microsoft Corporation。保留所有权利。 开始安装 ASP.NET (4.0.30319.17929)。 ............. ASP.NET (4.0.30319.17929)安装完毕。 iisreset /restart /noforce正在尝试停止... Internet 服务已成功停止 正在尝试启动... Internet 服务已成功启动
3.文件太大解决方案(>10M)
服务默认支持的最大文件大小是10M,大于10M会报错。可以通过以下步骤解决此问题
1.打开如图文件Settings_Service.ini,文件目录为C:\Program Files\Microsoft Office Web Apps\OpenFromUrlHost ; --- OpenFromUrlHost --- ;; The application root for the current application ApplicationRoot=(System.String)/oh在默认内容后添加(512000/1024M,可以根据自己的需求设定) OpenFromUrlMaxFileSizeInKBytes=(System.Int32)512000;2.修改 C:\Program Files\Microsoft Office Web Apps\OpenFromUrlWeb 下的Settings_Service.ini,进行相同的修改 3.重启office web apps服务
再重新试一下>10M的文件,发现可以访问了
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工具备份一下系统,以免出错从头开始安装。
如果你在安装过程中遇到奇怪的错误并且解决了,希望可以告诉我一下,以供我补充完善疑难问题这一项。目前该方案已经在购买服务器实施的过程中,有需要实现在线文档预览的可以考虑使用。
博客转自:《在线文档预览方案-office web apps》
转载于:https://www.cnblogs.com/SanMaoSpace/p/4948100.html
[转载]在线文档预览方案-Office Web Apps相关推荐
- 在线文档预览方案-office web apps续篇
上一篇在线文档预览方案-office web apps发布后收到很多网友的留言提问,所以准备再写一篇,一来介绍一下域控服务器安装,总结一下大家问的多的问题,二来宣传预览服务安装与技术支持的事情. 阅读 ...
- 在线文档预览方案-office web apps
原文:在线文档预览方案-office web apps 最近在做项目时,要在手机端实现在线文档预览的功能.于是百度了一下实现方案,大致是将文档转换成pdf,然后在通过插件实现预览.这些方案没有具体实现 ...
- 在线文档预览解决方案-Office Web Apps在Windows Server 2008 R2部署教程
由于接触到的服务器一般安装较多的是Windows Server 2008 R2版本的服务器,在此记录一下部署过程中踩得坑 优势:可以同时支持pc端和手机端,支持文件类型包括 doc,ppt,xls,d ...
- wps在线预览接口_在线文档预览(干货篇)
目前市面上的文档预览产品确实是五花八门,总的来说分两类产品:免费的产品很少也很局限,收费的产品很多很丰富但有坑!(这个坑嘛,大家都懂) 部分公司会选择自制文档预览功能,其实分析比较自制和外购两种方案, ...
- 文档预览服务器,特色 - I Doc View在线文档预览
使用对象 个人和第三方应用均可使用:个人:可以在示例页面上传和预览文档 第三方应用:通过我们提供的第三方应用API接口来调用,或者将预览服务部署到您自己的服务器上. 预览本地文档 您可以上传并在线查看 ...
- 这个Java在线文档预览项目,太拽了吧 !
大家好,今天分享一套 基于Java 配合openoffice实现文档的在线预览 开源项目,希望大家喜欢.
- 用Ruby on Rails实现适应各种平台的在线Office文档预览
前言 在许多Web应用中都需要预览文档的功能.而用户可能用不同的设备访问Web应用,可能是装有Windows系统的PC台式机,也有可能是iOS系统的iPad.一般来说,要预览的文档通常是主流的Offi ...
- 用 Ruby on Rails 实现适应各种平台的在线 Office 文档预览
http://ruby-china.org/topics/17309 前言 在许多Web应用中都需要预览文档的功能.而用户可能用不同的设备访问Web应用,可能是装有Windows系统的PC台式机,也有 ...
- 跨平台Office文档预览原生插件,非腾讯X5,支持离线,稳定高可用
引言 2023年4月13日零时起,腾讯浏览服务内核文档能力正式下线,要实现真正离线文档预览,于是有了这边文章. 前面写了多篇关于<跨平台文件在线预览解决方案>,不管使用pdf.js.Lib ...
最新文章
- mysql数据库链接百分号_数据库百分号怎么用
- 教你轻松将springboot打包成exe程序
- 【速看,双100%】剑指 Offer 14- I. 剪绳子 I
- C++实现剔除不能识别的非ASCIII、非中文字符
- 蓝桥杯国赛 皮亚诺曲线距离
- python datetime to timestamp_python timestamp和datetime之间转换详解
- matlab多图形相交,用MATLAB作出柱面x^2+y^2=4 和柱面x^2+z^2=4 相交的图形.
- java fakepath_解决文件上传取不到真实路径问题(fakepath)
- 【自动升级后的错误】如何停止腾讯会议自动升级
- 处理C盘容量不足问题(以AppData为例)
- 计算机专业考信息安全研究生,我是计算机科学与技术专业的学生,想考信息安全的研究生,我们本专业涉及的知识主要是计算机的组成原理,...
- Cannot use import statement outside /npm WARN saveError ENOENT: no such file or directory
- KMP算法求next数组
- C#中break 和 continue 和 return在if语句和for循环中的区别
- IGMP协议兼容性实验报告
- 笔记本重新启动计算机,电脑正在重新启动很久了怎么办
- 历代名人、学者对商鞅的评价
- 基于Spring事件模型实现观察者模式的工程实践
- 2016OSC源创会年终盛典-前端技术专场-肖光宇
- Java实现超市会员管理系统