在 SharePoint 2013 中创建搜索结果的简单 PDF 预览

原文发布于 2012 年 12 月 21 日(星期五)

几天前,我发现到处都在谈论这个问题,我觉得很有趣。有人问到了 SharePoint 2013 中针对搜索结果项的非常棒的新的缩略图预览。他们确实非常喜欢 Microsoft Office 文档的工作方式并希望能够对 PDF 文件实现这一点。已经有一个很好的实现方法,即创建一个使用 Office Web Apps 呈现 PDF 文件的自定义 WOPI 扩展。此方法的缺点是,需要有人进行一些编码和测试(完全信任代码),再将其部署到自己的 OWA 服务器场,然后在 SharePoint 场中创建新的 WOPI 绑定。当然,如果您的要求允许这样做,这完全是一个合理的解决方案。

不过,作为喜欢偷懒和省事的所有人的代表,我决定采用其他方法来实现这一点。没有探究所有管道工程的工作方式的细节,到最后通过 iFrame 就实现了 Office 文档的搜索结果预览。为何不对 PDF 文档执行同样的操作呢?为什么不呢 - 这正是我所做的事情。以下就是我为实现这一点所做的全部工作:

  1. 我进入我的搜索中心网站并下载 Item_PDF.html 的副本,它是 SharePoint 2013 中的 PDF 项目的可直接使用的显示模板。我对它作了以下更改:
    1. 将标题更改为“PDF by Steve”
    2. 将 javascript 中的 hoverUrl 变量更改为“~sitecollection/_catalogs/masterpage/Display Templates/Search/Item_Site_HoverPanel.js”
  2. 将其另存为 PDF_Default.html 并返回我的 SharePoint 搜索中心网站,然后导航到“网站设置”...“母版页和页面布局”...“显示模板”...“搜索”并将其上载。
  3. 我返回到“网站设置”,并在“网站集管理”部分选择“搜索结果类型”。
  4. 我创建了一个搜索结果类型并对其进行如下配置:
    1. “名称”:PDF Viewer
    2. “什么类型的内容应匹配?”:PDF
    3. “这些结果应类似于查找什么?”:PDF by Steve

就是这样了 - 现在您已准备好了。在这里需要指出的一点是,在步骤 1b 中,我已将显示模板配置为使用对网站现成可用的悬停面板。该面板已配置为使用 iFrame 并加以精美呈现,这样一来,我甚至无需为网站创建悬停面板了。顺便说一下,我实际上是在闲得没事的时候做的这项工作,不过,既然现成的东西比我能做出来的看起来好多了,我为什么还要费劲呢 — 图形漂亮不是我的事情。完成这些工作后,我就可以很好地预览搜索结果中的 PDF 文档,如下所示:

大概就是这样了。我在这里附上了我的显示模板,只是为了向像我这样有点懒且图省事的人提供帮助。祝大家圣诞快乐和新年快乐!

更新:我发现此方法有一个较大的限制 - 它仅在您的 PDF 文档位于搜索中心所在的主机上时可行(最简单的例子是,当这些文档位于相同的 Web 应用程序中时)。如果您的搜索中心位于 https://www.foo.com,而您的 PDF 位于 https://www.bar.com,则它们将不会显示为预览项目。此情况是因我们使用 SharePoint 向下发送的一些 X-Frame-Options 标头导致的。如果您遵循我们提供的针对 SharePoint 2013 的新建议来对服务器场使用单个 Web 应用程序,则一切将正常,但如果您有多个 Web 应用程序或对非 SharePoint 网站中的内容进行爬网,则它将不会以预览模式呈现。

 

要注意的几点是 - 1) 确保已在用于查看预览的计算机上安装 Adobe Reader;2) 我已不止一次地听说此方法在非 Internet Explorer 浏览器中不起作用。

 

这是一篇本地化的博客文章。请访问 Create An Easy PDF Preview for Search Results in SharePoint 2013 以查看原文