SharePoint 2013 で検索結果の簡易 PDF プレビューを作成する

原文の記事の投稿日: 2012 年 12 月 21 日 (金曜日)

先日、たまたま見かけたある質問に興味を引かれました。それは、検索結果にアイテムの縮小版プレビューが表示される SharePoint 2013 の便利な新機能についての質問でした。この Microsoft Office ドキュメントの動作がとても気に入ったので PDF ファイルでも同じことをしたい、というわけです。回答の中に、Office Web Apps を使って PDF ファイルを表示するカスタム WOPI 拡張機能を作る、というものがありました。これはなかなかよい回答ですが、コーディングとテストを (完全信頼のコードを使って) 行い、結果を OWA ファームに展開して、SharePoint ファームで新しい WOPI バインドを作成する必要があります。これが要件に合えば、この回答でまったく問題ありません。

しかし、怠け者の筆者は別の方法を取ることにしました。Office ドキュメントの検索結果のプレビューは、詳しいしくみはわからなくても、最終的に iFrame によって実現されています。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

以上です。これでこの機能を使用できるようになります。1 つ指摘しておくと、手順 1b. では、サイト用にあらかじめ用意されているホバー パネルを使うように表示テンプレートを構成しています。このホバー パネルは iFrame を使うように構成されており、見た目もきれいなので、ホバー パネルを作る必要もありませんでした (実を言うと、いろいろ試しているときに自分でも作ったのですが、あらかじめ用意されているものの方がはるかに見栄えがよかったので、用意されているものを使うことにしました)。完了すると、次のように、検索結果に PDF ドキュメントのプレビューが表示されるようになります。

これで終わりです。筆者のような怠け者の方のために、作成した表示テンプレートを添付しておきました。それでは皆さん、楽しいクリスマスとよいお年をお迎えください。

更新: この方法には大きな制約があることがわかりました。この方法を使用できるのは、PDF ドキュメントが検索センターと同じホストにある場合 (最も簡単な例で言うと、同じ Web アプリケーションにある場合) だけです。したがって、検索センターが https://www.foo.com (英語) にあり、PDF が https://www.bar.com (英語) にある場合、プレビューは表示されません。これは、SharePoint に含まれるようになったいくつかの X-Frame-Options ヘッダーが原因です。ファームに対して 1 つの Web アプリケーションを使用するという SharePoint 2013 の新しい推奨事項に従っている場合は問題ありませんが、複数の Web アプリケーションを使用している場合や、SharePoint 以外のサイトのコンテンツをクロールしている場合は、プレビューは表示されません。

その他の注意点: 1) プレビューを表示するコンピューターに Adobe reader がインストールされていることを確認してください。2) Internet Explorer 以外のブラウザーでは機能しないという報告が少なくとも 1 件ありました。

これはローカライズされたブログ投稿です。原文の記事は、「Create An Easy PDF Preview for Search Results in SharePoint 2013」をご覧ください。