最近在做项目时,需要用到在线文档预览,看过明道的一篇搭建office web apps服务的文章,但是由于时间的关系,没有仔细研究,这几天有时间,就拿出来研究了下,折腾了几天终于完成了部署,然后就搬过来做下记录。

优点

  • 现有代码改动量很小,几乎可以忽略不计。
  • 无需自己写代码,只需一台服务器即可
  • 支持文档类型很全面,doc,ppt,xls,docx,pptx,xlsx,pdf。
  • 手机和pc都支持,支持文档缓存,分页浏览。

一、服务器环境要求

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

系统要求:转换服务器使用Window Server 2008 R2 64bit SP1或者以上,NET Framework 4.5,KB2592525,Windows PowerShell 3.0,IIS,保证80 443 809端口不被占用,确保当前机器没有安装office,确保当前机器没有安装Exchange,sharepoint,lync server,sql server

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

  

二、软件下载

本文安装步骤所需的软件我都放在百度云盘了,可以进行下载。下载地址:http://pan.baidu.com/s/1hrBeYqw

三、域控服务器部署

请根据我的另一篇文章:《域控服务器安装教程》完成部署。

四、转换服务器部署

此次操作使用的是 Windows Server 2008 r2 操作系统。

注意:请严格按照下列顺序进行安装,不然可能会出现问题,很难解决!如果遇到需要重启,请重启后继续操作。

1、安装 .NET Framework4.5。

2、安装 IIS7。

1)打开服务器管理,添加角色,选择 Web 服务器,点击下一步,添加所需功能。

2)勾选 “应用程序开发” 功能,其他默认,点击下一步。

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。

打开下载好的 wacserver.exe 文件双击进行安装。

勾选接受条款,点击继续。

文件位置默认,点击 立即安装。

等待安装完成即可!

7)安装语言包。

wacserverlanguagepack.exe

8)安装office web apps sp1补丁包

wacserversp2013-kb2880558-fullfile-x64-glb.exe

9)通过PowerShell配置Office web apps

注意,进行到此步骤的时候,要注销电脑,使用域账户登陆操作。

右键管理员方式运行 PowerShell

启动 office 服务器场、输入以下命令。

Import-Module OfficeWebApps

部署 office 服务器场,输入以下命令(其中的参数需要根据自己的服务器进行修改)。

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

office 服务场参数说明:

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

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

-ExternalURL:外网浏览地址,一般为服务器的IP地址

-AllowHttp 允许80端口访问

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

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

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

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

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

可以通过 http://xx.domin.com/hosting/discovery 查看描述。

当然,通过IP也是可以访问的 http://ip地址/hosting/discovery。

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

Set-OfficeWebAppsFarm -AllowHttp

使用以下地址预览文档

  1.  
    //注意,文档地址需要外网能访问到
  2.  
    http://xx.domin.com/op/embed.aspx/src=http://www.baidu.com/test.docx

五、疑难问题解决

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

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

遇到这种问题,可能是你在转换服务器没有注销用户,需要再转换服务器注销用户,切换使用域服务器的账户登陆!

2、HTTP 错误 500.21

  1.  
    HTTP 错误 500.21 - Internal Server Error
  2.  
    处理程序“DiscoveryService”在其模块列表中有一个错误模块“ManagedPipelineHandler”

出现这种错误是第一步安装的.net framework4.5未在iis中注册导致的。

以管理员方式打开cmd,运行以下命令

cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319 .\aspnet_regiis.exe -iru

出现如下提示即解决!

  1.  
    Microsoft (R) ASP.NET RegIIS 版本 4.0.30319.17929
  2.  
    用于在本地计算机上安装和卸载 ASP.NET 的管理实用工具。
  3.  
    版权所有(C)
  4.  
    Microsoft Corporation。
  5.  
    保留所有权利。
  6.  
     
  7.  
    开始安装 ASP.NET (4.0.30319.17929)。 .............
  8.  
    ASP.NET (4.0.30319.17929)安装完毕。
  9.  
    iisreset /restart /noforce
  10.  
    正在尝试停止...
  11.  
    Internet 服务已成功停止
  12.  
    正在尝试启动...
  13.  
    Internet 服务已成功启动

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

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

打开文件目录为C:\Program Files\Microsoft Office Web Apps\OpenFromUrlHost 中的文件 Settings_Service.ini

在内容最后添加以下内容(512000/1024M,可以根据自己的需求设定、后面不要加分号)。

OpenFromUrlMaxFileSizeInKBytes=(System.Int32)512000

修改 C:\Program Files\Microsoft Office Web Apps\OpenFromUrlWeb 下的Settings_Service.ini,进行相同的修改

重启office web apps服务即可!

 

4、文档地址为ip时预览报错

比如文档地址为http://10.5.192.168/A.docx 这个时候预览会报错 ,而相应的地址为http://mydoc.com/A.docx 域名的则是好的。这个问题估计是微软自己的安全验证问题,这也算时微软留下来的一个坑,暂时没有想到解决方案。

office web apps 在线问答预览的更多相关文章

  1. office web app server 文件预览部署&& wopi 集成使用

    对于需要进行office 套件文档预览的时候大部分大家使用的是插件,或者类似的,解决方案,微软已经为我们提供了比较好的解决 方案 office web app server (目前名称是office ...

  2. office web apps server 问题和解决办法

    New-OfficeWebAppsFarm –InternalURL "http://owa.zjkhlib.com" –AllowHttp –EditingEnabled 错误1 ...

  3. 在线文档预览方案-office web apps续篇

    上一篇在线文档预览方案-office web apps发布后收到很多网友的留言提问,所以准备再写一篇,一来介绍一下域控服务器安装,总结一下大家问的多的问题,二来宣传预览服务安装与技术支持的事情. 阅读 ...

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

    最近在做项目时,要在手机端实现在线文档预览的功能.于是百度了一下实现方案,大致是将文档转换成pdf,然后在通过插件实现预览.这些方案没有具体实现代码,也没有在线预览的地址,再加上项目时间紧迫.只能考虑 ...

  5. [转载]在线文档预览方案-Office Web Apps

    最近在做项目时,要在手机端实现在线文档预览的功能.于是百度了一下实现方案,大致是将文档转换成pdf,然后在通过插件实现预览.这些方案没有具体实现代码,也没有在线预览的地址,再加上项目时间紧迫.只能考虑 ...

  6. 微软office web apps 服务器搭建之在线文档预览(一)

    office web apps安装 系统要求为Windows Server 2012, 注意:转换文档需要两台服务器,一台为转换server,另外一台为域控server.(至于为什么要两台,这个请自行 ...

  7. [Office Web Apps]实现在线office文档预览

    摘要 在使用office web apps实现office文档在线预览的时候,需要注意的地方. web api web api作为owa在线预览服务回调的接口,这里面核心代码片段如下: using H ...

  8. 微软office web apps 服务器搭建之在线文档预览(二)

    上一篇文章已经介绍了整个安装过程了.只要在浏览器中输入文档转换server的ip,会自动跳转,出现如下页面. 那么就可以实现本地文档预览了,你可以试试.(注意:是本地哦,路径不要写错,类似“\\fil ...

  9. office web apps 整合到自己项目中(wopi实现在线预览编辑)

    借助office web apps实现在线预览和在线编辑 我所有的代码都是用go语言编写,你可以直接编译后使用,不用再有其他的操作. 最近项目实在太忙,这几天才有时间,这次是重头戏,要好好琢磨一下怎么 ...

随机推荐

  1. Vue中使用watch computed

    watch:监听属性,来监听dta中的数据变化  或者route的变化 computed:计算属性, <!DOCTYPE html> <html lang="en" ...

  2. Cron 定时任务表达式

    Cron Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式: Seconds Minutes Hours DayofMonth M ...

  3. Ant环境安装

    一:下载安装Ant,配置环境变量 1.进入http://ant.apache.org/bindownload.cgi下载ant 2.配置环境变量 新建ANT_HOME 配置path环境变量 配置cla ...

  4. Python + Selenium 主要实现的功能

    selenium 技术 元素定位的几种方法 WebDriver API ,selenium IDE,selenium grid python 技术 函数.类.方法: 读写文件, unitest单元测试 ...

  5. 《3+1团队》第七次作业:团队项目设计完善&编码

    项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 作业链接地址 团队名称 3+1团队 团队博客地址 https://home.cnblogs.com/u/3-1group ...

  6. Listener中@Autowired无法注入的问题

    最近在用监听器的时候遇到了spring无法注入的问题,代码如下,这个task总是null,包明明已经被扫到了,就是注入不进来. public class MyListener implements S ...

  7. mysql中一个字段升序,另一个字段降序

    mySql中,升序为asc,降序为desc.例如: 升序:select   *  from  表名 order by  表中的字段 asc(mysql中默认是升序排列,可不写) 降序:select   ...

  8. SCPI 语言简介

    电子负载中需要用到,所以记录下.来源是德科技 SCPI(可编程仪器的标准命令)是一种基于 ASCII 的仪器编程语言,供测试和测量仪器使用. SCPI 命令采用分层结构,也称为树系统. 相关命令归组于 ...

  9. python - Flask 基础 - 蓝图( Blueprint )(2)

    """ 蓝图:为开发者提供的目录结构 - 使用: 1. 根目录创建一个跟项目名一样的文件 - 创建后第一步,在这个文件夹中添加一个 __init__.py 的配置文件 - ...

  10. PHP实现多文件上传的一些简单方法

    下面我们就通过具体的代码示例,为大家介绍PHP实现多文件上传的一些简单方法. 第一种方法:利用单个文件上传方法 一段简单的form表单代码如下: <!DOCTYPE html> <h ...