前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >在线文档预览方案-office web apps

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

作者头像
用户1168362
发布于 2018-01-05 07:40:03
发布于 2018-01-05 07:40:03
7.4K00
代码可运行
举报
文章被收录于专栏:.net core新时代.net core新时代
运行总次数:0
代码可运行

  最近在做项目时,要在手机端实现在线文档预览的功能。于是百度了一下实现方案,大致是将文档转换成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 SP1或者以上,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/1hrBeYqw

 步骤

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

 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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Import-Module OfficeWebApps
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 进行浏览,出现下面的界面则表示整个安装完成了。

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Set-OfficeWebAppsFarm -AllowHttp

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

回到顶部

使用示例

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//在线预览服务地址
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中进行使用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<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 : 登录失败: 未知的用户名或错误密码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
访问  http://xxxx/hosting/discovery

HTTP 错误 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会报错。可以通过以下步骤解决此问题 OpenFromUrlMaxFileSizeInKBytes=(System.Int32)512000 后面不要加分号

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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)5120002.修改 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工具备份一下系统,以免出错从头开始安装。

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015-05-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
在线文档预览方案-office web apps续篇
用户1168362
2018/01/05
2.7K1
在线文档预览方案-office web apps续篇
如何实现Office文档在线预览
5、支持跨域,支持所有设备以及浏览器。客户端使用任何浏览器(包括移动设备上的)、微信都可以预览。
usdoc
2022/04/14
5.5K0
为SharePoint 2013配置Office Web Apps
最近看到新版的Office Web Apps Server开放下载了,貌似还是免费的,于是果断下载了。
雪雁-心莱科技
2018/12/27
2.5K0
Word,Excel,PPT等Office文件Web浏览器在线预览
前两天接到一个需求:需要在线预览用户上传的Word,Excel,PPT文档 前端同事一听到这个需求,心里就开始骂了,什么鬼需求啊,浏览器怎么打开Word,Excel吗? 这个要开发一个浏览
拿我格子衫来
2022/01/24
5.7K1
前端【vue】实现文档在线预览功能,在线预览pdf、word、xls、ppt等office文件
XDOC可以实现预览以DataURI表示的DOC文档,此外XDOC还可以实现文本、带参数文本、html文本、json文本、公文等在线预览,具体实现方法请看官方文档下面这种方式可以实现快速预览word但是对文件使用的编辑器可能会有一些限制
江一铭
2022/06/17
24.3K2
前端【vue】实现文档在线预览功能,在线预览pdf、word、xls、ppt等office文件
SharePoint 2013 Farm 安装指南——构建一个双层SharePoint Farm
最近要对公司里的SharePoint进行升级,由于旧的系统SharePoint 2010已经有2年了,上面改动比较多,而且权限也很混乱了,所以下定决心要对其做一次升级,重新部署一台新的SharePoint 2013 Server。  2014-11 Update :安装配置时Service Account请参考如下文章: SharePoint 2013 Farm 安装指南——Least Privilege 目前采用以下配置 1台独立的Domain Controller服务器(Windows Serve
用户1161731
2018/01/11
1.6K0
SharePoint 2013 Farm 安装指南——构建一个双层SharePoint Farm
Lync server 2013 之office web apps server 搭建步骤
office web apps server 搭建步骤: 一、 .NET Framework 4.5 节点下的HTTP 激活 .NET Framework 3.5 Windows Identity Foundation 3.5 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,NET-Framework-Features, NET-Framework-Core, NET-HTTP-Activation, NET-Non-HTTP-Activ, NET-WCF-HTTP-Activation45 -source d:\sources\sxs -restart 二、安装office web apps server 2013 (自行搜索下载) 和Sp1更新
杨强生
2019/03/05
1K0
Lync server 2013 之office web apps server 搭建步骤
轻量折腾计划2,整一个免费好用的在线office文档预览
最近在写项目的时候正好遇到这方面的需求,需要对一些课件的PPT、DOCX等Office文档进行在线预览服务,在网上搜了一下,发现目前市面上阿里云、WPS等都提供有这方面的服务。花了点时间去大概看了一下发现价格都不算低,且阿里云的服务还存在被刷量的风险(指不定哪天房子就易主了),找了一圈居然让我发现了这么一个良心的软件(onlyoffice),有免费社区版可供大家使用,赶紧拿起来用了用,感觉很不错,于是便有了这篇文章的由来。
NNT
2021/07/22
2K0
轻量折腾计划2,整一个免费好用的在线office文档预览
Vue实现在线文档预览
本次实现的文档预览的类型有:docx, xlsx, pptx, pdf,以及纯文本、代码文件和各种图片、视频格式的在线预览
不愿意做鱼的小鲸鱼
2023/07/09
4.2K0
Vue实现在线文档预览
做Docx预览,一定要做这个神库!!
docx-preview和mammoth是目前最流行的两个 Word 文档预览库,它们各有特色且适用于不同场景。
沉浸式趣谈
2025/04/09
1760
做Docx预览,一定要做这个神库!!
office系列文档的在线预览解决方案 - 在linux平台下转为pdf
office系列文档包括:.ppt .pptx .doc .docx .xls .xlsx 等常用格式。
王亚昌
2018/08/03
1.9K0
Office文档在线预览编辑解决方案
利用iframe和微软的Office文档在线预览功能,可以在页面上动态加载doc、excel、ppt格式文档
Action
2021/03/26
3.2K0
Office文件转换预览解决方案
http://wordupload.xhkjedu.com/resource/ce77495a0a64477b8c894289156810cc/5887f1ab75344117bff4fe6830d5b2ee.ppt
码客说
2020/06/18
3.3K0
腾讯云云函数结合金山文档打造轻量级office在线预览服务
曾几何时,文档预览曾经很麻烦,小公司需要购买服务器,自行搭建文件服务器来满足产品的文件预览需求,用户上传的文件经由后端进行转码之后才能预览,技术团队需要搭建文件存储服务及转码服务才能实现基础功能,我司就是这么做的。
薛定喵君
2021/04/09
7900
Spring Boot 实现万能文件在线预览
推荐一个用 Spring Boot 搭建的文档在线预览解决方案:kkFileView,一款成熟且开源的文件文档在线预览项目解决方案,对标业内付费产品有永中office、office365、idocv等,免费使用!
田维常
2022/11/25
5780
Spring Boot 实现万能文件在线预览
基于SpringBoot的文件在线预览神器,可支持99%常用文件的在线预览!
kkFileView可以用来搭建文件在线预览服务,在Github上已有5.7k+Star。该项目使用流行的SpringBoot搭建,易上手和部署,基本支持主流办公文档的在线预览,如docx、xlsx、pptx、pdf、txt、zip、图片、视频、音频等等。项目特性可以参考下图。
macrozheng
2021/08/20
2.1K0
Office Web Apps
Office Web Apps 将为 Word、Excel、PowerPoint 乃至 OneNote 的桌面版本提供基于 Web 的版本。当然,在 Web 上存储和共享 Office 文档并非新生事物。之前使用 Microsoft 的 Office Live Workspace 就可以在线保存和管理文档。但是,Office Web Apps 允许您通过浏览器实际创建和编辑文档,从而更具优势。最终,Office Web Apps 必然会取代 Office Live Workspace。 与桌面版本中提供的全
张善友
2018/01/19
3.6K0
springboot实战之office文档在线预览
文档在线预览在企业级应用开发也算是比较常遇见的需求了,通常处理这方面的需求大致有如下的方案,
lyb-geek
2019/11/27
7.7K0
springboot实战之office文档在线预览
Spring Boot 实现万能文件在线预览
推荐一个用 Spring Boot 搭建的文档在线预览解决方案:kkFileView,一款成熟且开源的文件文档在线预览项目解决方案,对标业内付费产品有永中office、office365、idocv等,免费!
好好学java
2021/12/08
8710
Spring Boot 实现万能文件在线预览
如何在ownCloud/NextCloud/丰盘ECM等免费企业网盘集成在线Office?
伴随着企业内部员工生产和流通的文档越来越多,企业管理层迫切需要引入一套可以私有部署在企业内网的文档管理系统来将这些文档集中管理起来,一方面可以更好的管控权限,另外也是为了更好的在不同项目、新老员工之间进行共享以提高生产力。
打杂的小牛
2022/08/23
3.3K0
如何在ownCloud/NextCloud/丰盘ECM等免费企业网盘集成在线Office?
推荐阅读
相关推荐
在线文档预览方案-office web apps续篇
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验