そういうところが殿様

 社内文章の全文検索のためSharePoint Foundation 2013 SP1を導入してぼちぼち使っています。マイクロソフト製だけあってWordやExcelのファイルも特に追加設定なく普通に扱えるところがいいですね。そして2013からPDFもデフォルトで対応され、2010のころはPDF iFilterの追加導入や設定など必要だったのが、ここも手間いらずで検索対象となっており、うちの使い方として、ほぼインストールそのままで大丈夫な感じです。
 まあそれでも小さなトラブルはあるもので、クロール対象のファイルサイズが大きいことによる警告はしかたないとしても、一部のPDF文書のクロールでエラーが出ていることに気づきました。以下のような感じです。

PDFパーサーのエラーのため、このアイテムを処理できませんでした。(Error parsing document 'http://srv/test.pdf'. Unable to parse file, invalid encryption algorithm type used.; ; SearchID = 12345678-1234-5678-ABCD-123456789ABC)

 暗号化のアルゴリズムに対応していないよとのことですが、案の定、該当PDFのオーナーパスワードの設定に256bit AESを使ったファイルでエラーが出ていました。ブラウザーEdgeの時もそうでしたがMicrosoftとしては仕様が公開されていないPDFの規格に関しては今のところサポートしないつもりなんでしょう。将来新しいPDF 2.0の規格が制定されれば対応するんでしょうが、その時にSharePoint 2013までめんどうをみてくれるかは不明です。もうだいぶ前の製品ですので放置となりそうな気がします。一応サポートとしてメインストリームの終了期限が1年後の4月10日。延長サポートが2023年4月11日までとなっていますが。
 ShaprePoint 2013においてバージョン1.7 Adobe Extension Level 8のPDFに対応した全文検索方法は純正での対応が今すぐには期待できないので、2010まで一般的だったサードパーティーのiFilterを別途導入する方法を検討しました。導入方法などはこちらのページが詳しいです。こちらのサイト、他にもSharePointのノウハウが日本語で読めるので大変ありがたいですね。
 コストはかけない方向なので無料で手に入れられるPDF iFilterとしてAdobe製を選択。最新のPDF iFilter 64 11.0.01をこちらのページのリンクから入手しました。最新とはいえ2013年1月のもので大丈夫かと思いましたが、1.7 Adobe Extension Level 8が2011年のAcrobat 10からの対応で、それ以降、新しいバージョンのPDFは出ていないようですのでこれが最新版で問題ないはずです。
 PDF iFilterをmsiファイルでインストールして再起動。その後、上記ページを参考にSet-SPEnterpriseSearchFileFormatStateの実行とIISの再起動、SharePoint Search Host Controllerサービスの再起動で完了です。うちのFoundationではSharePoint Server Search 15のサービスはスタートアップが手動となっており再起動は不要でした。
 そしてクロールをやり直すと今回はエラーなく完了しました。
 SharePoint 2013からPDFの全文検索にデフォルトで対応しており従来のようなiFilterの導入は不要なのと、AdobeのiFilterはSharePoint 2013での動作保証もないですけど、ちょっとの手間で256bit AESで暗号化されたPDFに対応できますので導入はおすすめです。