Namazu-win32-users-ja(旧)


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

Re: PDF ファイルの Indexing エラーについて



こんにちは、白井です。

From: Yoshimichi Kubo <selvid@xxxxxxxxxxxx> さん曰く
Subject: [namazu-win32-users-ja] Re: PDF ファイルの  Indexing エラーについて
Message-ID: <200004281508.AAA16597@xxxxxxxxxxxxxxxxxxx>
Date: Sat, 29 Apr 2000 00:08:09 +0900 (JST)

> > TIPS> 	<a href="foo.pdf#page=2">
> > TIPS> 			~~~~~~~
> > を Namazu でやって喜んでいます。これとっても便利です。:-)

>  先に、このことを fj.comp.lang.postscript で知り、Namazu-2.0 の
> リリース時に PDF対応、と書かれていたので、特別なことをせずに、
> ページ単位でインデックスができるものだと思っていました。

Namazu の検索結果の単位(?)は文書(というか file) ですので、これ
は Namazu を単純に使うだけでは無理です。

# 現状の唯一の例外が、--html-split です。

> ところが
> 実際に Namazu をインストールして見ると、文書フィルタに xpdf に付属する
> pdftotxt が使われており、そのままでは PDF内に含まれているか否かしか
> わからないようです。(私も、900ページほどの、あるマニュアルに対して
> 全文検索できるように、と始めました。)

pdftotxt でも pdf2txt でも同じ方法でできると思うのですが、特に難
しいことをやっているわけではなく、Namazu-2.0.x で Replace がとっ
ても賢くなったのを利用しています。

1. hoge.pdf から pdf2txt で hoge.txt をつくる。

2. お好みの方法を使って、hoge.txt を 改ページ(^L, 0x0c) で
 hoge.txt.1, hoge.txt.2, ..., hoge.txt.100, ..., hoge.txt.n
 という名前で、ページ単位に分割して、ページごとの file を作る。
 
3. 上記の hoge.txt.1, hoge.txt.2, ..., hoge.txt.n を対象に mknmz
 する。だから、ページ単位の検索が出来る。

4. そうすると、Namazu の検索結果の URI(file名) は、例えば、

 "/tmp/pdf/hoge.txt.100"

  とかなるわけですから、それを pdf の実物 + page Number の

 "http://www.foo.org/bar/hoge.pdf#page=100"

  に変換する Replace を設定すれば良いわけです。これなら、

 Replace /tmp/pdf/(.*)\.txt\.([1-9][0-9]*) http://www.foo.org/bar/\1.pdf#page=\2

かしら。(メールを書きながら書いただけなので未確認です)
ただし、NMZ.result.normal でいうところの ${title}, ${date} など
はボロボロになりますけど、気にしていません。

>  順序が逆になりましたが、
> 
> > 1. 暗号化されている(と思われる) file を自分で変換したことが無い。
> > 2. Win32 上で動くかどうか全然わからない。:-)
> > 3. それ以前に Win32 上でインストールできるかどうかもわからない。
> 
>  pdf2txt 自体は、NT4上で使っています。付属のドキュメントだけで
> インストール/動作まで辿り着けました。

昨日 pdf2txt のことを書いた後、気になったので、ActivePerl-522
で install できるかどうか試したのですが、MD5 の Perl module のイ
ンストールに失敗しました。Win-NT4.0 + ActivePerl-522 + VC++6.0
です。
MD5 自体は gcc を使えばなんにも問題なく make/install できるは以
前から知っているのですが、Perl module だとどうすればいいのか全然
知識がないので、安直にギブアップしてしまいました。

# MD5 がないと当初の目的が。。。^^;;;

> また、この通りまだ Namazu のことがよくわかっていませんので、
> Namazu の文書フィルタに使えるかどうかもわかりません。

というわけで、わざわざ文書フィルタとして作り上げる手間をかけなく
ても、ちょっとした応用で幸せになりますよ、というお話でした。

## 本質とは関係ないけど、上記の方法の個人的な最大の問題点は、
## Solaris 2.x 上の Netscape で acrobat reader plug-in を動かす
## と、kinput2 が死んじゃうところ。なんでだぁ。;_;

-- 
白井秀行 (mailto:shirai@xxxxxxxxxxxxxxxxxxx)