読者です 読者をやめる 読者になる 読者になる

電子ジャーナルのpdfファイルの管理

未分類

移転しました。

私は、ダウンロードした電子ジャーナルは、ハードディスクに保存しておいて、再び読む必要ができたときに読めるようにしてあります。

しかし、たくさんたまってくると、ファイル名の付け方によっては、どれがどのジャーナルだったかがわからなくなります。

お勧めするファイル名としては、

first auther,year,title or keywords

で、例えば、

JPetro2008stronglyCorrelation.pdf

という感じです。

しかしながら、ファイル名を付けるときに思いついたkeywordsと、探すときに思いついたkeywordsが違ったり、そもそも保存するたびにファイル名をつけるのがめんどくさかったり。

別の方法としては、pdfからテキスト抽出して、データベース化することです。

xpdfパッケージに入っている、pdftotextを使用すると、テキスト抽出できます。

$ pdftotext inputfile.pdf outputfile.txt

みたいに使います。

保存先のファイル名を省略すると自動で同名の.txtファイルが作成されるようです。

そこから、自分の好きなスクリプト言語でも使って、著者タイトルを抽出して、mysqlとかに登録してもよいでしょう。

また、txt化したファイルをひとつのディレクトリにまとめていれておいて、そこから、

cat *|grep "queryword"

などとするのも楽かもしれません。

さらに別の方法としては、これが私のお薦めなのですが、全文検索エンジンnamazuをつかうことです。

最近のバージョンはpdftotextがインストールされていれば、pdfのindex化にもしてくれるようですので、pdfのディレクトリにindexディレクトリでも作って、

mkdir index

mknmz -O index ./

とindexファイルを作成しておくと、探したいときには、

namazu "queryword" ./index

というふうに検索できます。

これで、突然magnetic form factorの係数が必要になったときでも、楽々ピックアップできます。

pdftotextではtxt化できるのに(プロテクトがかかってないのに)、mknmzのときには英語pdfにも関わらず、

Unable to convert pdf file (maybe copying protection)

といわれたり、ファイルサイズがでかいのでパスと言われるときには、

Setting up Linux

http://www8.plala.or.jp/warmheart/linux/namazutips.html

ここのサイトを参考に、/usr/share/namazu/filter/pdf.plの

@pdfconvoptsの値を変えてみたり。(UTF-8っていうのは私が適当にいれたらうまく通ったので、そのままにしてあるだけで、他に副作用があるかもしれませんから、Shift-JISの方がいいかもしれません。)

if ($result =~ m/^pdftotext\s+version\s+([0-9]+\.[0-9]+)/m) {

$pdfconvver = $1;

}

if (util::islang("ja")) {

if ($pdfconvver >= 1.00) {

# @pdfconvopts = ('-q', '-raw', '-enc', 'EUC-JP');

@pdfconvopts = ('-q', '-raw', '-enc', 'UTF-8');

} else {

@pdfconvopts = ('-q', '-raw', '-eucjp');

/usr/share/namazu/pl/conf.plの$FILE_SIZE_MAXを

$FILE_SIZE_MAX = 5000000;

と50MB程度にしておくと、いいかもしれません。