Namazu-win32-users-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 一太郎11用 filter について




村井と申します。

 一太郎文書を多用している職場のため(現在インデックス
化対象8,600文書あまり)
小嶋様の投稿された一太郎フィルターにつきましては、大変
に有り難く使用させて頂いております。
 最近、二点について気がついたことがありましたので、報
告させていただきます。

 その一点は、V 1.3.5 2002/03/13を使
用して大量の文書を処理した時に発生するエラーです。
 後述の環境で様々な一太郎文書8,614件について連続
して処理したところ、3、357件まで行ったところで「一
太郎 起動数の上限に達しました 確認 ヘルプ」というメ
ッセージが出て停止しました。
 全く同じ状態でフィルターだけ V 1.3.1 
2002/03/06を使用して処理したところ最後まで完
全に作成できました。
 動作は V 1.3.5の方がスマートで処理時間も短い
ようですが、以上の理由から、大量の文書を処理する時は 
V 1.3.1 の方を使用しております。
 なお、蛇足ながら、sub mediatype() 、sub add_magic ($)
 に  ichitaro7 の記述を補っております。
 また、壊れたファイルで終了してしまわないよう
     my $result = $jxw->Documents->Open($jfile);
     die "Cannot open file $jfile" unless (defined $result);
のように追加変更して使用しております。
 一太郎は当初V11で、その後V12に変更しておりますが、
動作に相違は無いように感じております。

 もう一つの点は、罫線で仕切られた表の中の文書が一部イン
デックス化されない事です。その条件は、一太郎の表では見か
け上、同じ行に複数の改行記号が存在しますが、そのような場
合最初の改行以降の文字はインデックスの対象外になってしま
う事です。(なお、ワードではこのような事はありません。)
       $jdoc->JumpStart;
       until($jdoc->OutOfDocument){
            $jdoc->SelectRangeStart(30);
            my $para =Win32::OLE::Enum->new($jdoc->GetString);
            my @ary = $para->All();
            foreach $line (@ary){
            $sentence .= $line;
            }
       }
の $sentence を書き出してみると上の条件で抽出されていな
い事がわかります。
 なお以前に紹介されておりましたVETEXTによる方法で
はこの現象はありません。ただしVETEXTはシートに対応
していません。
(jt.pl はシートに対応しています。) 
 とりあえず現象をご報告します。改善につきまして、お教え
頂けることがございましたら宜しく御願いします。

動作環境
 CPU Pentium4 2.0AGHz
 メモリ 1,024MB
 OS  Windows 2000 Professional SP2
 Namazu  2.0.10
 Perl    5.6.1.630
 xpdf   1.00
 Office 2000
 一太郎12
    (使用オプション -s -U -O でインデックス化)

///////////////////////////////////////////////////

  村井 俊文     E-mail:murai.t-fs@xxxxxxxxx