64ビット版Windows 7でPDFのインデックス化を可能にする
先ほど<プロパティとファイルのコンテンツのインデックスを作成する>に関して簡単に説明しましたが、必ずしもファイルの中身をインデックス化できるとは限りません。そもそもWindows 7では、「IFilter」というファイルからテキスト内容を取り出すためのロジックを使用していますので、そのファイルに対するIFilterが必要となります。
Windows 7には「%ProgramFiles%\Common Files\microsoft shared\Filters」フォルダ、もしくは「%ProgramFiles(x86)%\Common Files\microsoft shared\Filters」フォルダを用意し、Microsoft謹製のフィルタファイルを格納していますが、「%windir\System32」フォルダに格納されるファイルや、アプリケーション独自のIFilterが導入されることもあり、お使いのWindows 7でどのIFilterが導入されているか確認する術はありません(レジストリ上で検索する方法もありますが、コツが必要なためお勧めできません)(図17~18)。
図17 Windows 7標準のIFilterは、「%ProgramFiles%\Common Files\microsoft shared\Filters」フォルダ、もしくは「%ProgramFiles(x86)%\Common Files\microsoft shared\Filters」フォルダや、「%windir%\System32」フォルダなどに格納されます |
そこで試して頂きたいのが「IFilter Explorer」というツール。文字どおりWindows OSに登録されたIFiltersの一覧表示を行なうツールですが、残念ながらWindows 7をサポートしていません。最終更新日も2006年8月と今後の発展を期待できませんが、筆者が試した限り32/64ビット版Windows 7上で動作を確認しましたので、今回紹介することにしました(図19~21)。
図21 ただし環境によってはランタイムエラーが発生します。筆者が確認した限りでは、「Microsoft Visual C++ 再頒布可能パッケージ」を導入しても改善されず、Office 2010を導入した環境では正しく動作しました |
同ツールで確認しますと、標準的な32ビット版Windows 7では「%ProgramFiles%\Common Files\microsoft shared\Filters」フォルダには「msgfilt.dll」「odffilt.dll」「offfiltx.dll」の3ファイル。「%ProgramFiles%\Windows Journal」フォルダには「JNTFiltr.dll」。
「%windir%\System32」フォルダには「ieframe.dll」「mimefilt.dll」「nlhtml.dll」「offfilt.dll」「Query.dll」「rtffilt.dll」「xmlfilter.dll」の5ファイルがiFilterとして登録されています。拡張子の列挙まで行なうと冗長になりますので、お手持ちのコンピュータでもお試しください(図22)。
さて、IFilterの概略をつかんだところで64ビット版Windows 7の問題点について解説しましょう。検索機能を活用するにはファイル形式に対応したIFilterが必要ですが、64ビット版Windows 7をお使いの場合、定番のファイル形式であるPDFの内容を検索するには、ちょっとした作業が必要となります。
多くのユーザーが導入するAcrobat Reader 9には、PDF用IFilterが同こんされていますが、同フィルタは32ビット版のみ。つまり、32ビット版Windows 7では正しく動作しても、64ビット版Windows 7では動作しないのです(図23~24)。
そこで64ビット版Windows 7ユーザーは「Adobe PDF iFilter 9 for 64-bit platforms」を導入しましょう。リンクをたどって開きますと、米Adobe社の英文ページが表示されるため躊躇(ちゅうちょ)されるかもしれませんが、同ファイルは日本語を含む複数言語対応版ですのでご安心ください。同ファイルを導入することで、PDFの内容に対する全文検索が可能になります(図25~26)。
図25 Adobe PDF iFilter 9 for 64-bit platformsのダウンロードページにアクセスし、<Download Now>ボタンをクリックして「PDFiFilter64installer.zip」をダウンロードします |
しかし、これだけではPDFを64ビット版Windows 7に完全対応させたとは言えません。試してみるとおわかりのとおり、PDFのサムネイルアイコンが表示されず、プレビューウィンドウによる内容表示も行なわれないのです。
これはレジストリに書き込まれたアプリケーションIDが異なるために発生する問題なのですが、Adobe側の改善がいまだ行なわれておりません。
そのため有志の方が作成した「Fixes for 64-bit Adobe Reader preview handler and thumbnails」をお試しください。これで自動的にレジストリの変更を行なうと同時にプレビューハンドラの修正が行なわれ、前述した問題が改善されます(図27~33)。
図27 ダウンロードページにアクセスし、「Adobe_Reader_x64_fixes_v3_000_installer.zip」をダウンロードしてください |
図31 これで「Adobe Reader preview handler x64 fixer」が起動します。Office 2010ベータ版を使っていた方は<Extra changes required~>にチェックを入れ、<Apply Fix>ボタンをクリックします |
阿久津良和(Cactus)