<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Office Web App on 冯威的博客</title><link>https://fwhyy.com/tags/office-web-app/</link><description>Recent content in Office Web App on 冯威的博客</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Sat, 08 Apr 2017 00:01:55 +0800</lastBuildDate><atom:link href="https://fwhyy.com/tags/office-web-app/atom.xml" rel="self" type="application/rss+xml"/><item><title>OWA实现添加水印</title><link>https://fwhyy.com/2017/04/adding-watermark-to-owa/</link><pubDate>Sat, 08 Apr 2017 00:01:55 +0800</pubDate><guid>https://fwhyy.com/2017/04/adding-watermark-to-owa/</guid><description>&lt;p&gt;&lt;code&gt;OWA&lt;/code&gt;全称&lt;code&gt;Office Web App&lt;/code&gt;，是用来做&lt;code&gt;Office&lt;/code&gt;文档预览的一个很好的工具。现在客户有要求，需要在预览界面中添加水印。想起之前写的一篇文章&lt;a href="http://fwhyy.com/2015/06/office-web-app-preview-remove-top-menu/"&gt;《Office Web APP预览去掉顶部菜单》&lt;/a&gt;，就是通过修改样式来控制&lt;code&gt;OWA&lt;/code&gt;的预览界面的。&lt;/p&gt;
&lt;p&gt;通过&lt;code&gt;F12&lt;/code&gt;查看&lt;code&gt;OWA&lt;/code&gt;预览&lt;code&gt;Word&lt;/code&gt;的界面，发现&lt;code&gt;Word&lt;/code&gt;的每一页会被渲染在一个&lt;code&gt;Img&lt;/code&gt;中展示，如下图：&lt;/p&gt;</description></item><item><title>Office Web App 2013发布在外网进行预览</title><link>https://fwhyy.com/2015/06/office-web-app-2013-preview-in-external/</link><pubDate>Sat, 20 Jun 2015 00:00:00 +0800</pubDate><guid>https://fwhyy.com/2015/06/office-web-app-2013-preview-in-external/</guid><description>&lt;p&gt;Office Web App是用来做Office文档预览的一个很好的工具，网上的很多资料大都是跟SharePoint集成、Lync集成等，并且基本都是在内网部署。本文主要介绍下怎样在外网部署实现预览功能。&lt;/p&gt;
&lt;h2 id="安装"&gt;安装&lt;/h2&gt;
&lt;p&gt;OWA的安装可以参考下面链接：&lt;/p&gt;
&lt;p&gt;&lt;a href="https://technet.microsoft.com/zh-cn/library/jj219455.aspx"&gt;https://technet.microsoft.com/zh-cn/library/jj219455.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;有关安装OWA的PowerShell命令可以参考下面链接：&lt;/p&gt;
&lt;p&gt;&lt;a href="http://technet.microsoft.com/zh-cn/library/ee890080.aspx"&gt;http://technet.microsoft.com/zh-cn/library/ee890080.aspx&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="准备工作"&gt;准备工作&lt;/h2&gt;
&lt;p&gt;OWA不能安装在域控上，所以必须准备两台服务器，如下：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;域控服务器
&lt;ul&gt;
&lt;li&gt;服务器版本：Windows Server2012R2&lt;/li&gt;
&lt;li&gt;域名：fwhyy.com&lt;/li&gt;
&lt;li&gt;内网IP：10.15.3.160&lt;/li&gt;
&lt;li&gt;外网IP：100.180.100.180&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;OWA服务器
&lt;ul&gt;
&lt;li&gt;服务器版本：Windows Server2012R2&lt;/li&gt;
&lt;li&gt;完整机器名：owa.fwhyy.com&lt;/li&gt;
&lt;li&gt;内网IP：10.15.3.180&lt;/li&gt;
&lt;li&gt;外网IP：100.180.100.181&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;申请外网域名：owa.fwhyy.com，绑定到OWA服务器的外网IP：100.180.100.181&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="部署"&gt;部署&lt;/h2&gt;
&lt;p&gt;1.在OWA服务器上执行下面PowerShell命令：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;New-OfficeWebAppsFarm -InternalUrl &amp;#34;http://10.15.3.180&amp;#34; -AllowHttp -EditingEnabled -OpenFromUrlEnabled
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;注意InternalUrl 需要配置内网IP&lt;/p&gt;
&lt;p&gt;2.命令成功执行后，会在IIS中创建两个站点，如下图：&lt;/p&gt;
&lt;p&gt;&lt;img src="https://img.fwhyy.com/3cefded1gw1etayjjaz24j20ea0530ta.webp" alt="3cefded1gw1etayjjaz24j20ea0530ta" loading="lazy" decoding="async"&gt;
&lt;/p&gt;
&lt;p&gt;3.在浏览器中输入：&lt;a href="http://owa.fwhyy.com/hosting/discovery"&gt;http://owa.fwhyy.com/hosting/discovery&lt;/a&gt;会得到一个放回xml结果的页面，&lt;strong&gt;该xml文件中显示的地址为内网IP，需要将内网IP换成域名：owa.fwhyy.com&lt;/strong&gt;。保存该页面为discovery.xml文件留作备用。不同类型的文档会指向不同的页面来做预览，生成预览链接时会用到discovery.xml文件。&lt;/p&gt;
&lt;p&gt;4.如果要将OWA的预览功能和自己的应用程序进行整合，还需要有一个Web API程序进行辅助，有关这部分内容可以参考下面链接：&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.cnblogs.com/poissonnotes/p/3267190.html"&gt;http://www.cnblogs.com/poissonnotes/p/3267190.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.cnblogs.com/poissonnotes/p/3277280.html"&gt;http://www.cnblogs.com/poissonnotes/p/3277280.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;具体请求流程参见下图：&lt;/p&gt;
&lt;p&gt;&lt;img src="https://img.fwhyy.com/3cefded1gw1etazsxxv5aj20dl0e1t96.webp" alt="3cefded1gw1etazsxxv5aj20dl0e1t96" loading="lazy" decoding="async"&gt;
&lt;/p&gt;
&lt;p&gt;5.除了discovery.xml中的地址需要修改为域名，其他所有涉及到有请求的地方全部使用内网IP。&lt;/p&gt;
&lt;h2 id="总结"&gt;总结&lt;/h2&gt;
&lt;p&gt;外网访问其实关键的是需要注意三点：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;使用PowerShell命令创建站点时使用内网IP；&lt;/li&gt;
&lt;li&gt;需要用域名进行访问，并且申请的域名必须和OWA服务器的完整机器名一致；&lt;/li&gt;
&lt;li&gt;只有discovery.xml中的地址需要为域名，其他所有都是用内网IP。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;后面会单独开篇来写一个简单的示例，包含改造后的WopiHosting部分。&lt;/p&gt;</description></item><item><title>Office Web APP预览去掉顶部菜单</title><link>https://fwhyy.com/2015/06/office-web-app-preview-remove-top-menu/</link><pubDate>Fri, 19 Jun 2015 00:00:00 +0800</pubDate><guid>https://fwhyy.com/2015/06/office-web-app-preview-remove-top-menu/</guid><description>&lt;p&gt;Office Web APP应该是用来做Office文档预览最好的方式，原生的预览页面中的顶部会有Microsoft的相关文字以及一些功能按钮，比如文件,查找（如下图）。如果仅仅是预览没有什么问题，但系统中如果预览和下载两个工能的权限是分开的，在预览时文件按钮中的 打印功能可以将文件导出成PDF，这样就分不开这两种功能权限了。下面就介绍怎样将顶部的Microsoft相关文字和功能按钮隐藏掉。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://img.fwhyy.com/2022/202201301602055.webp" alt="3cefded1gw1et90cjtya1j20h3056dg4" loading="lazy" decoding="async"&gt;
&lt;/p&gt;
&lt;h2 id="解决方法"&gt;解决方法&lt;/h2&gt;
&lt;p&gt;在Office Web APP的预览会涉及4中类型的文 件：Word、Excel、PowerPoint、PDF，不同的类型在预览时调用的文件是不一样的，其中Word和 PDF调用的是同一个文件。每个预览的页面都有对应的CSS文件，如下：&lt;/p&gt;
&lt;h3 id="powerpoint"&gt;PowerPoint&lt;/h3&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;C:\Program Files\Microsoft Office Web Apps\WebPPTViewer\pptresources\2052\styleread.css
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="word"&gt;Word&lt;/h3&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;C:\Program Files\Microsoft Office Web Apps\WebWordViewer\Resources\2052\WordViewer.css
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="excel"&gt;Excel&lt;/h3&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;C:\Program Files\Microsoft Office Web Apps\ExcelServicesWfe\_layouts\styles\excelribbon.css
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;在上面的三个css文件中找到cui-ribbonTopBars，在css样式中追加display:none。下面是修改后的预览效果：&lt;/p&gt;
&lt;p&gt;&lt;img src="https://img.fwhyy.com/2022/202201301602716.webp" alt="3cefded1gw1et90ck1vftj20h405j0t4" loading="lazy" decoding="async"&gt;
&lt;/p&gt;</description></item></channel></rss>