[Namazu-win32-users-ja 1156] Re: 【Namazu2.0.17】MSExcel2007のインデックス化

Tadamasa Teranishi yw3t-trns @ asahi-net.or.jp
2008年 6月 19日 (木) 18:39:08 JST


寺西です。

t_saitou @ sk.kameda.co.jp wrote:
> 
> 現在、Namazu2.0.17を(つい先日から)使い始め、MSOffice製品のインデックス化については、
> xdoc2txt.exeを使用させていただいております。
> インストールマシンはサーバとして使用しており、Excelなどは入っていません
> 
> しかし、Excel2007、Word2007の文書がインデックス作成時に弾かれてしまいます。

これは OfficeOpenXML のものでしょうか? つまり拡張子が .docx, .xlsx が
インデックス作成対象になっていないということ?

だとすると、Namazu 2.0.17/2.0.18 の xdoc2tx.pl は OfficeOpenXML に
対応していませんので、当然の結果でしょう。

> (1) 2.0.17 → 2.0.18 にバージョンアップする。

必須です。いかなる理由があろうと古いバージョンの Namazu は使用する
べきではありません。ただちに最新バージョンにバージョンアップすべき
です。

>    その上で、xdoc2txt.pl、xdoc2txt.exeを使用する。

Namazu 2.0.18 の xdoc2txt.pl は OfficeOpenXML に対応していません。
しかし、msofficexml.pl が OfficeOpenXML に対応していますので、
こちらを使えるようにするのが良いかと思います。
unzip.exe を入手し、パスの通っているところにインストールしてください。

なお、CVS で管理されている現在の Namazu のソースでは、xdoc2txt.pl 
でも、xdoc2txt.exe 1.26 以降であれば、OfficeOpenXML に対応しますし、
msofficexml.pl も unzip.exe をインストールしなくても Archive/Zip.pm
モジュールがインストールされていると使用できるようになっています。
これらは Namazu 2.0.19 で反映されます。

>    (コンパイラを変えたとか...動作は安定しているのもでしょうか? ...すみません)

当然のことながら、古いバージョンの Namazu を使うよりはよほど安全、安定
しています。
 
> (2) 2.0.17のままで、xdoc2txt.plだけを2.0.18のものを使う

古い Namazu は使うべきではありません。
フィルタだけを新しいものに差し替えても正しく動作する保障はありません。
 
> (3) 2.0.17のxdoc2txt.plを修正する。

古い Namazu は使うべきではありません。

>    よくわからず書きますが、xdoc2txt.pl内の以下の箇所に
...
>    以下の行を追加する。↓
>     $magic->addFileExts('\\.xlsx$', 'application/vnd.openxmlformats-officedocument.spreadsheetml');
>     $magic->addFileExts('\\.docx$', 'application/vnd.openxmlformats-officedocument.wordprocessingml');

これだけでは不足します。

> (4) xdoc2txt.pl、xdoc2txt.exeにこだわらず、他の手がある?
>    (私には、他の手を考える引き出しがありません)

前述のように msofficexml.pl を使う方法があります。
このフィルタは doc/ja/manual.html で紹介してあります。

> ■ 蛇足ながら
>    2.0.17以前は、2.0.16を使っていました。
>    そこでExcel2007を何とかしたいと、いじっていたところ、イン
> デックス作成時にエラーするようになりました。

常に最新版の Namazu を使うようにしましょう。

>    インデックス作成時どころか、mknmz -C ですらエラーするように
> なってしまいました。

修正した箇所を元に戻せば、当然ながら元の状態に戻ります。

> Use of uninitialized value in concatenation (.) or string at c:\namazu\bin\mknmz line 416.
> Can't locate .pl in @INC (@INC contains: C:/namazu/share/namazu/filter/win32 C:/namazu/share/namazu/filter C:\namazu\share\namazu/pl . C:/Perl/site/lib C:/Perl/lib) at c:\namazu\bin\mknmz line 416.

filter/win32 に変な .pl ファイルを置いたのでしょう。
-- 
=====================================================================
寺西 忠勝(TADAMASA TERANISHI)  yw3t-trns @ asahi-net.or.jp
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint =  474E 4D93 8E97 11F6 662D  8A42 17F5 52F4 10E7 D14E



Namazu-win32-users-ja メーリングリストの案内