Namazu-win32-users-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
CD-ROM上にNamazu,indexを置いてPDFファイルを検索したい
- From: Kazuhiko Tada <K.Tada@xxxxxxxxxx>
- Date: Wed, 25 Dec 2002 13:15:39 +0900
- X-ml-name: namazu-win32-users-ja
- X-mail-count: 01653
多田と申します。始めて発言します。
Subject:CD-ROM上にNamazu,indexを置いてPDFファイルを検索したい
以前からの発言で、CD-ROM上にIndexを置いて検索するという内容は
見つけたのですが全てをCD-ROM上に置いて実現するという物が
無かったために色々試行錯誤しました。というよりご助言頂いて
実現できました。
この件で、宮沢さん、坂口さん、山下さん、とうぼうさん他、
数人の方にご助言を頂きました。
処理が実現できましたので、お役に立てればと纏めをアップさせて頂きます。
特に宮沢さんと坂口さん、頻繁に丁寧なフォローを入れて頂きましてとても
感謝致します。
今回、IENamazu.htaに関して修正箇所を記載しても良い、という許可も
頂きましたのでそれについても記載させて頂きます。
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
※※但し、作者へこの件について直接問い合わせを行うことはやめてください※※
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
【目的】
Namazu,index等全てのファイルをCD-ROMに置いてpdfファイルを
検索したい。
【動作確認OS】
Windows2000 Professional(SP3)+InternetExplorer6(SP1)
WindowsXP Professional(SP1)+InternetExplorer6(SP1)
【使用製品のバージョン】
Namazu : 2.0.12
kakasi : 2.3.4
xpdf : 2.00
ActivePerl : 5.6.1
IENamazu : 0.0.1
search-s for Namazu : 0.9.3beta
【処理手順 namazu〜インデックスの作成】
1.namazu,kakasi,xpdf,perlのインストールを行います。
私は、宮沢さんのページを参考にさせていただきました。
http://www10.plala.or.jp/miyazawa/namazu/index.html
#これについては過去ログ,HomePageに沢山導入事例が有ります。割愛します。
2.インデックスの作成
(1)mknmzrcの修正
私の場合は検索対象がpdfだけだった為、c:\namazu\etc\namazu\mknmzrcを
修正しました。
$ALLOW_FILE = ".\\.pdf*;
として、検索対象を絞り込みました。
KAKASIをインストールしてあるのですが、良く見ると、mknmzrcの最後の方に
KAKASIについての定義がありましたがコメントのままにしてます。
$FILE_SIZE_MAXと$TEXT_SIZE_MAXについては適宜サイズを変更します。
これがデフォルトのままの場合、
「a.pdf 致命的なエラー(x-system/x-error) skipped.」
とのエラーが出ました。
また、Directoriesに関してはnamazuがインストールされているディレクトリを
正しく指しているかをチェックします。
$LIBDIR = 'C:/namazu/share/namazu/pl';
$FILTERDIR = 'C:/namazu/share/namazu/filter';
$TEMPLATEDIR = 'C:/namazu/share/namazu/template';
(2)xpdfrcの修正
xpdfrcについては一通り標準の設定を終えた後、
次の2カ所について手を加えました。
#textEncoding UTF-8
textEncoding Shift-JIS
#textEOL unix
textEOL dos
(3)pdf.plの修正
私が使用したpdfの場合はマスタパスワードがかかっておりまして、
このために
「b.pdf Unable to convert pdf file (maybe copying protection)」
というエラーが出ました。内容のコピーと抽出を許可しないpdfの場合
text化は無理だ、と諦めかけていたところ作成元から協力が得られまして
パスワードの提供が有りました。
pdfファイルにパスワードが掛かっている場合、
C:\namazu\share\namazu\filter\pdf.plの修正が必要です。
88行目から始まる構文で、
# system("$pdfconvpath -q $pdfconvarg -raw $tmpfile $tmpfile2");
と有りますが、これにパスワード(例 foo_pw)を加えて
system("$pdfconvpath -opw foo_pw -q $pdfconvarg -raw $tmpfile $tmpfile2");
とすることによりテキストへの出力が可能でした。
(4)作業用ディレクトリ配置
c:\work\ ....この下にpdfファイルとindexを置くようにします
\pdf1\ ....pdfは分類上、複数のディレクトリに分かれてます
\pdf2\
\pdfn\
\index\ ....インデックスファイルはここへ出力します
(5)インデックスの生成
対象のpdfファイルはCD-R上に置く場合、ルートディレクトリではなく、
#考えるのが面倒ってだけなんですが
サブフォルダに置いた方が後のnamazurcのReplace設定の時に楽でした。
作業は、DOSコマンドプロンプトを開いて行います。
C:\WORK\INDEX>mknmz -U c:\work
インデックス作成の状況が画面に現れ、コマンドが終了するとインデックスの
生成は完了です。
(6)namazurcの修正(Replaceについてはそれぞれのツールで違います)
/namazu/etc/namazu/namazurcを修正します。
namazurcの60行目くらいからLang設定が有りますので、これを修正します。
コメント行の「#」を外し、次のようにします。
Lang ja_JP.SJIS
これで検索結果はSJISでの出力になります。
ReplaceとLang以外は全てコメントにしました。
# 必要な場合設定して下さい。
Namazu 2.0.12の場合、Namazuインストールフォルダまるごと
CD-Rに焼き込んでしまえば日本語環境も問題なく動作しました。
この場合、環境変数のセットアップは不要でした。
これについては、チュートリアルに記述が有ったようです。
(Namazu 2.0.6 から修正されているようです。)
--------------------------------
【処理手順 IENamazuの場合】
1.IENamazuをダウンロードし、解凍します
2.ienamazu.iniを設定する
次の箇所を修正します。
[idxname]
; CD-ROMは「@」で置き換えられます
CD-ROM=@:\namazu\bin\namazu.exe;@:\index selected
[alias]
; CD-ROMは「@」で置き換えられます
namazu=@:\namazu\bin\namazu.exe
namazu.png=@:\namazu\share\namazu\etc\namazu.png
3.namazurcのReplace設定を行います
インデックスを作成する環境がC:\WORKの下にぶら下がり、
CD-RへはWORK以下をそのまま焼く場合、次の設定となります。
Replace /c\|/work/ /c\|/ # ienamazuの場合
4.ienamazu.htaを修正します
(1)172行目の
172:var nmzout = "$nmzout.htm";
を
172:var nmzout = "C:\\$nmzout.htm";
にします。
#WindowsNT以上の場合、一般ユーザーではCドライブのルートディレクトリに
#書き込む権限が無いため、適宜修正した方が良いかも。
(2)509行目から次のように3行追加します
509: var nmzpng = alias.getValue("namazu.png");
ADD: if (/^@:/.test(nmzpng)) {
ADD: nmzpng = nmzpng.replace(/@:/g, namazu.driveletter+":");
ADD: }
510 text = text.replace(/%namazu\.png%/g, nmzpng);
これは、Namazuを一式CD-Rへ焼き込むため、pngファイルの参照を
CD-Rからできるようにするための変更です。
5.ファイル配置
CD-ROM上には次の通りに焼きました。
基本的にはc:\workの下を全部です。
\pdf1\ ....pdfは分類上、複数のディレクトリに分かれてます
\pdf2\
\pdfn\
\index\ ....インデックスファイルフォルダ
\namazu\ .... Namazuのフォルダをまるごと
\ienamazu\ .... IENamazuのフォルダをまるごと
後は、ienamazuフォルダの下のIENamazu.htaをダブルクリックして起動します。
InnternetExplorer6(SP1)からローカルファイルに対するセキュリティについて
仕様変更が有ったため、CD-ROM上にautorun.infを置いてindex.htmを起動させて
そこからIENamazu.htaをハイパーリンクさせるとアクセスできないことが
有るようです。
以下、Microsoftのページ
http://support.microsoft.com/default.aspx?scid=kb;ja;436868
--------------------------------
【処理手順 search-s for Namazuの場合】
1.search-s for Namazuを準備します。
私が使用した時点では、Version0.9.2が最新でしたが、CD-ROMへの
完全対応という事では0.9.3betaが必要だとの事でこれを使用しま
した。
2.searchs.iniを設定する
次の箇所を修正します。
[Search]
Directory1={cdrom1}/Index
NamazurcPath={cdrom1}\namazu\etc\namazu\namazurc
[Result]
ResultUseTempDir=1
[Command]
namazuPath={cdrom1}\namazu\bin\namazu.exe
[SearchMRU]
Item_0=""{cdrom1}/Index""
3.namazurcのReplace設定を行います
インデックスを作成する環境がC:\WORKの下にぶら下がり、
CD-RへはWORK以下をそのまま焼く場合、次の設定となります。
Replace /c\|/kajima/ {cdrom1}/ # search-sの場合
4.ファイル配置
CD-ROM上には次の通りに焼きました。
基本的にはc:\workの下を全部です。
\pdf1\ ....pdfは分類上、複数のディレクトリに分かれてます
\pdf2\
\pdfn\
\index\ ....インデックスファイルフォルダ
\namazu\ .... Namazuのフォルダをまるごと
\search-s\ .... search-sのフォルダをまるごと
以上です。
宮沢さん、早朝から深夜までのメールサポート、誠に有り難うございました。
---------------------------------------------------
E-mail : K.Tada@xxxxxxxxxx Web : http://www.doon.co.jp/
株式会社ドーン 多田 和彦
TEL 03-3206-3411 FAX 03-3206-3412
---------------------------------------------------