zoukankan      html  css  js  c++  java
  • Office Web App2013 在线查看PDF文件

    经常会有客户问,在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 –InternalURL http://owa2013  -ExternalUrl http://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()

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

    image

    后续产生的问题

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

    image

    解决方法:

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

    function addPdfPreviews() {
        SP.SOD.executeOrDelayUntilScriptLoaded(function () {
            filePreviewManager.previewers.extensionToPreviewerMap.pdf = [embeddedWACPreview, WACImagePreview]
            embeddedWACPreview.dimensions.pdf= { 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文件预览可以正常显示了

    image

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

    image

    解决方法:

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

    image

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

    image

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

    image

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

    image

    本文参考:

    http://www.cnblogs.com/erucy/archive/2013/07/05/3173707.html

    http://www.wictorwilen.se/sharepoint-2013-enabling-pdf-previews-with-office-web-apps-2013-march-2013-update

    http://www.wictorwilen.se/sharepoint-2013-enabling-pdf-previews-in-document-libraries-with-office-web-apps-2013

  • 相关阅读:
    Web服务器安全设置
    java大文件读写操作,java nio 之MappedByteBuffer,高效文件/内存映射
    Java IO和Java NIO在文件拷贝上的性能差异分析
    Java高效读取大文件
    NIO入门之轻松读取大文件
    我来说说java的NIO
    java读取大文件 超大文件的几种方法
    @RequestBody 的正确使用办法
    友鱼项目知识点
    怎样查看Tomcat动态控制台信息
  • 原文地址:https://www.cnblogs.com/janet/p/3179709.html
Copyright © 2011-2022 走看看