经常会有客户问,在SharePoint中,如何在浏览器中查看与编辑文档,通常给出的解决方案是集成Office Web App。

而在实际应用过程中,客户通常会要求实现PDF文件在线查看,对于PDF文件,office web App微软一直没有提供官方支持。为了实现这个功能,开发人员通常采用如下两种方式:

1.修改SharePoint,使PDF文件默认在浏览器中打开,这种方式,实质上是告诉浏览器,文档由浏览器调用,根据本地文档关联调用本地客户端进行呈现,这种方式就要求客户端安装adobe reader才可以正常打开,否则仍旧显示下载框。

2.文档转换方式,通常思路是文档转换成图片或文档转换成swf文件,实际项目中常用的是类似百度文档的方式,转换成swf文件,通过程序开发自定义界面进行呈现。

具体做法是上传时,自动转换一份swf文件,然后通过flashpaper进行展示,这种方式控制粒度高,可以防止复制与下载,但需要进行一定的二次开发才可以实现,而且由于文档同时存在两个副本,信息一致性也需要考虑。

一个好的消息是在今年3月份的时候,微软发布了Office Web Apps Server 2013的一个更新,可以在这里下载:KB2760445。这个更新中包括了若干新功能,其中最主要的就是支持了PDF格式的在线查看。

部署过程摘要

在一台加域的服务器上安装Office Web App2013,然后安装该KB,安装完成后,打开PowerShell,输入如下命令,进行Farm初始化(注owa2013为office web app服务器名称):

New-OfficeWebAppsFarm –InternalURLhttp://owa2013  -ExternalUrlhttp://owa2013 –AllowHttp –EditingEnabled  -ClipartEnabled –TranslationEnabled

然后在 SharePoint服务器上启动PowerShell,输入如下脚本与office web app服务进行绑定

Add-PSSnapin Microsoft.SharePoint.PowerShell
  New-SPWOPIBinding -ServerName owa2013 -AllowHTTP       
  Set-SPWopiZone internal-http

如果使用HTTP连接而非https,则需要执行以下命令:

$sts = (Get-SPSecurityTokenServiceConfig)

$sts.AllowOAuthOverHttp = $true

$sts.Update()

注意:如果之前有绑定过sharepoint服务和office web appfu服务事可以不用重复上面的步骤来绑定,可以这样添加即可:

 1: New-SPWOPIBinding -ServerName <ServerName> -Application WordPdf

执行完成后,发现PDF文件已经可以在线查看了:

后续产生的问题

1.文档列表中,无法直接预览文档

解决方法:

Designer打开站点,创建pdfview.js文件,文件内容如下(注:我母版页中引用了jquery)

function addPdfPreviews() {      
    SP.SOD.executeOrDelayUntilScriptLoaded(function () {       
        filePreviewManager.previewers.extensionToPreviewerMap.pdf = [embeddedWACPreview, WACImagePreview]      
        embeddedWACPreview.dimensions.pdf= { width: 379, height: 252}       
    }, "filepreview.js");     
}

$(function(){addPdfPreviews();});

修改默认母版页,添加JS引用如下:

<script language="javascript" src="/Themes/js/jquery-1.4.2.min.js"></script>   
<script language="javascript"   src="/Themes/js/pdfView.js"></script>

保存母版页,刷新界面进行测试,可以看到,PDF文件预览可以正常显示了

2.搜索结果中,也无法直接预览文档

解决方法:

在网站集管理中点击“搜索结果类型”

在类型列表中找到“PDF”,点击“复制”

在弹出的新建类型界面中输入类型名称,并如图所示,将结果类型改为“Word项”

点击“保存”后,重新搜索,可以看到搜索结果的pdf文件已经可以正常预览了。

Office Web App2013 在线查看PDF文件相关推荐

  1. 浏览器在线查看pdf文件 pdf.js的使用教程

    谷歌浏览器可以直接在线查看pdf,而IE内核浏览器无法在线查看,默认是下载. 这里用到的是pdf.js,不仅支持IE内核浏览器,而且兼容手机查看pdf 官网地址:http://mozilla.gith ...

  2. 小程序webview实现在线查看pdf文件

    long time no see,还是之前的webview项目新增需求,电子发票这块需要查看发票详情.针对这个需求,百度得出两种结论,一种是用小程序api调起文件,另一种是pdf插件.一开始我用的是p ...

  3. h5移动端在线查看pdf文件 预览pdf文件 pdfh5.js

    要做移动端在线查看pdf的效果 最后选择了    pdfh5.js  强烈点赞   详情链接 https://www.gjtool.cn/articles/2019/09/04/15675716491 ...

  4. PDM solideworks 达索 在线查看PDF文件不完整的解决方式

    pdf文件显示不完整 solidworks出工程图转PDF字体乱码不显示的问题  百度的解决方式,在自己管理的PDM系统中这样的处理方式并未得到妥善解决.好歹哥们程序出身,架构也搞过一些.加工的部门的 ...

  5. Android应用内在线查看PDF文件

    下面介绍几种可行性较高的方案 一.PDFView 这个比较早,有几年没更新了,但可以满足一般的需求,手势放大缩小,左右滑动,体积也较小,对于Android版本可以兼容到较低版本,缺点也比较明显,不能查 ...

  6. java在线查看pdf文件,java 实现所有文件的在线查看(其他类型转pdf后用pdf.js显示)...

    js显示pdf插件demo下载: http://download.csdn.net/detail/heqinghua217/9685857 java 吧所有文档类文件转成pdf格式文件下载 http: ...

  7. 实现在线查看PDF文件

    效果图: 使用方法 引用所需两个文件 <script src="http://www.jq22.com/jquery/jquery-1.10.2.js"></sc ...

  8. php在线查看pdf文件

    readfile.php <?php if(!function_exists('read_pdf')) { function read_pdf($file) { if(strtolower(su ...

  9. 基于Angularjs框架实现HTML5在线查看OFD文件

    我们在系统开发过程中,经常会遇到图片浏览,PDF,OFD文件浏览问题. 最近正需要开发此功能,在线查看OFD文件.查阅各种资料发现,其实OFD和PDF是同一类型文件,OFD就是中国版本的PDF. 下面 ...

最新文章

  1. 全网首款PHP宝塔IDC分销系统,全网首款PHP宝塔IDC分销系统
  2. PHP文件上传和文件操作案例
  3. 独家 | 决策树VS随机森林——应该使用哪种算法?(附代码链接)
  4. Python实现与LeetCode--堆
  5. python 递归 分叉_浅谈Python 递归算法指归
  6. matlab画图(复数的直角坐标和极坐标)(-)
  7. VTK:PolyData之ThinPlateSplineTransform
  8. ASP.NET MVC (四、ASP.NET Web API应用程序与跨域操作)
  9. ABAP Netweaver, Hybris Commerce和SAP 云平台的登录认证
  10. bzoj 1645: [Usaco2007 Open]City Horizon 城市地平线(线段树扫描线)
  11. core部署iis的 调试net_ASP.NET Core环境变量和启动设置的配置教程
  12. pytorch在anaconda下安装
  13. (转)人工智能无处不在,这次是有公司用它来炒股
  14. java jdom_Java JDOM解析器
  15. DRILLNET 2.0------第十三章 尾管固井扭矩/摩阻模型
  16. C++如何获取虚函数表(vtbl)的内容及虚成员函数指针存放原理
  17. Windows CMD DOS命令
  18. png图片合成gif动态图-python3
  19. 【计算机网络】计算机网络的主要功能
  20. 蓝牙的配对和连接的建立过程

热门文章

  1. 诗词歌赋,样样精通!诗词古语小程序带你领略魅力古风丨实战
  2. [SDOI 2010]外星千足虫
  3. 【02】koala编译中文出错(已放弃不用)
  4. 海康、大华IPC的rtsp格式
  5. NOIP复习资料——往年习题精选
  6. ImageView及其子类
  7. 【翻译】使用Ext JS设计响应式应用程序
  8. 什么是单工、半双工和双工通信?有哪些实际应用的例子
  9. EntiyFramework :Update model from database引起的两个问题
  10. 基于xml技术的操作