2011年9月13日

[Namazu-users-ja 1237] pdf.pl for poppler

田中と申します。はじめまして。

namazu 2.0.20 (正確には、debian の namazu2-index-tools package の
Version 2.0.20-1.0+nmu1)での、mknmz による pdf file 処理の
問題を見つけました。

これに対処するための、pdf.pl 1.22.4.16 に対する patch をお送ります。
未検証ですが、CVS の pdf.pl 1.46 にも適用可能だと思います。

Ref. http://cvs.namazu.org/namazu/filter/pdf.pl?revision=1.46


以下、この背景を説明します。

まず、問題を述べます。password 等の protection のかかっていない pdf
ファイルを mknmz で処理しようとしたところ、次のようなerror で処理
できませんでした:

0, application/pdf; x-error=Unable to convert pdf file (maybe copying protectio
n)


推測ではありますが、この原因は、pdf.pl の内部で、pdftotext (と pdfinfo) を
呼ぶ場合の引数が不適切なためです。pdf.pl は pdftotext の version に応じ、
引数の付けかたを変えます。これは、xpdf の pdftotext では適切なもので
あったようです。

一方、最近良く使われている(らしい) poppler由来の pdftotext には、
上記 version の pdf.pl では対応できていません (CVS のも見てみましたが、
この点への対応は無かったようです)。

そこで、この推測に従って、poppler由来の pdftotext に適応させるための
pdf.pl の patch を作りました。とりあえず、Copyright 表示を見て
poppler由来か否かを判断してます。

一応、私の手元で試したところ、動いてはいるようです。


以上、御検討ください。

田中篤司


--Multipart_Tue_Sep_13_23:42:16_2011-1
Content-Type: application/octet-stream; type=patch
Content-Disposition: attachment; filename="poppler.patch"
Content-Transfer-Encoding: base64

KioqIHBkZi5wbAkyMDExLTA5LTA3IDIyOjM4OjQ5KzA5CTEuMQotLS0gcGRmLnBsCTIwMTEtMDkt
MDcgMjI6NTU6MjcrMDkKKioqKioqKioqKioqKioqCioqKiA0Niw1MSAqKioqCi0tLSA0Niw1MiAt
LS0tCiAgICAgIGlmIChkZWZpbmVkICRwZGZjb252cGF0aCkgewogICAgICAgICAgbXkgQGNtZCA9
ICgiJHBkZmNvbnZwYXRoIik7CiAgICAgICAgICBteSAkcmVzdWx0ID0gIiI7CisgICAgICAgICBt
eSAkaXNQb3BwbGVyID0gMDsKICAgICAgICAgIG15ICRzdGF0dXMgPSB1dGlsOjpzeXNjbWQoCiAg
ICAgICAgICAgICAgY29tbWFuZCA9PiBcQGNtZCwKICAgICAgICAgICAgICBvcHRpb24gPT4gewoq
KioqKioqKioqKioqKioKKioqIDU4LDY1ICoqKioKICAgICAgICAgIGlmICgkcmVzdWx0ID1+IG0v
XnBkZnRvdGV4dFxzK3ZlcnNpb25ccysoWzAtOV0rXC5bMC05XSspL20pIHsKICAgICAgICAgICAg
ICAkcGRmY29udnZlciA9ICQxOwogICAgICAgICAgfQogICAgICAgICAgaWYgKHV0aWw6OmlzbGFu
ZygiamEiKSkgewohICAgICAgICAgICAgIGlmICgkcGRmY29udnZlciA+PSAxLjAwKSB7CiAgICAg
ICAgICAgICAgICAgIEBwZGZjb252b3B0cyA9ICgnLXEnLCAnLXJhdycsICctZW5jJywgJ0VVQy1K
UCcpOwogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgIEBwZGZjb252b3B0
cyA9ICgnLXEnLCAnLXJhdycsICctZXVjanAnKTsKLS0tIDU5LDY5IC0tLS0KICAgICAgICAgIGlm
ICgkcmVzdWx0ID1+IG0vXnBkZnRvdGV4dFxzK3ZlcnNpb25ccysoWzAtOV0rXC5bMC05XSspL20p
IHsKICAgICAgICAgICAgICAkcGRmY29udnZlciA9ICQxOwogICAgICAgICAgfQorICAgICAgICAg
aWYgKCRyZXN1bHQgPX4gbS9Db3B5cmlnaHQgMjAwNS1bMC05XSsgVGhlIFBvcHBsZXIgRGV2ZWxv
cGVycy9tKSB7CisgICAgICAgICAgICAgJGlzUG9wcGxlciA9IDE7CisgICAgICAgICB9CiAgICAg
ICAgICBpZiAodXRpbDo6aXNsYW5nKCJqYSIpKSB7CiEgICAgICAgICAgICAgaWYgKCRpc1BvcHBs
ZXIgfHwgJHBkZmNvbnZ2ZXIgPj0gMS4wMCkgewogICAgICAgICAgICAgICAgICBAcGRmY29udm9w
dHMgPSAoJy1xJywgJy1yYXcnLCAnLWVuYycsICdFVUMtSlAnKTsKICAgICAgICAgICAgICB9IGVs
c2UgewogICAgICAgICAgICAgICAgICBAcGRmY29udm9wdHMgPSAoJy1xJywgJy1yYXcnLCAnLWV1
Y2pwJyk7CioqKioqKioqKioqKioqKgoqKiogNzAsNzUgKioqKgotLS0gNzQsODAgLS0tLQogICAg
ICAgICAgaWYgKGRlZmluZWQgJHBkZmluZm9wYXRoKSB7CiAgICAgICAgICAgICAgbXkgQGNtZCA9
ICgiJHBkZmluZm9wYXRoIik7CiAgICAgICAgICAgICAgbXkgJHJlc3VsdCA9ICIiOworICAgICAg
ICAgICAgIG15ICRpc1BvcHBsZXIgPSAwOwogICAgICAgICAgICAgIG15ICRzdGF0dXMgPSB1dGls
OjpzeXNjbWQoCiAgICAgICAgICAgICAgICAgIGNvbW1hbmQgPT4gXEBjbWQsCiAgICAgICAgICAg
ICAgICAgIG9wdGlvbiA9PiB7CioqKioqKioqKioqKioqKgoqKiogODIsODkgKioqKgogICAgICAg
ICAgICAgIGlmICgkcmVzdWx0ID1+IC9ecGRmaW5mb1xzK3ZlcnNpb25ccysoWzAtOV0rXC5bMC05
XSspLykgewogICAgICAgICAgICAgICAgICAkcGRmaW5mb3ZlciA9ICQxOwogICAgICAgICAgICAg
IH0KICAgICAgICAgICAgICBpZiAodXRpbDo6aXNsYW5nKCJqYSIpKSB7CiEgICAgICAgICAgICAg
ICAgIGlmICgkcGRmaW5mb3ZlciA+PSAyLjAyKSB7CiAgICAgICAgICAgICAgICAgICAgICBAcGRm
aW5mb29wdHMgPSAoJy1lbmMnLCAnRVVDLUpQJyk7CiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7
CiAgICAgICAgICAgICAgICAgICAgICBAcGRmaW5mb29wdHMgPSAoKTsKLS0tIDg3LDk3IC0tLS0K
ICAgICAgICAgICAgICBpZiAoJHJlc3VsdCA9fiAvXnBkZmluZm9ccyt2ZXJzaW9uXHMrKFswLTld
K1wuWzAtOV0rKS8pIHsKICAgICAgICAgICAgICAgICAgJHBkZmluZm92ZXIgPSAkMTsKICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgaWYgKCRyZXN1bHQgPX4gbS9Db3B5cmlnaHQgMjAwNS1b
MC05XSsgVGhlIFBvcHBsZXIgRGV2ZWxvcGVycy9tKSB7CisgICAgICAgICAgICAgICAgICRpc1Bv
cHBsZXIgPSAxOworICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBpZiAodXRpbDo6aXNsYW5n
KCJqYSIpKSB7CiEgICAgICAgICAgICAgICAgIGlmICgkaXNQb3BwbGVyIHx8ICRwZGZpbmZvdmVy
ID49IDIuMDIpIHsKICAgICAgICAgICAgICAgICAgICAgIEBwZGZpbmZvb3B0cyA9ICgnLWVuYycs
ICdFVUMtSlAnKTsKICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAg
ICAgIEBwZGZpbmZvb3B0cyA9ICgpOwo=

--Multipart_Tue_Sep_13_23:42:16_2011-1
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-2022-jp"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Namazu-users-ja mailing list
Namazu-users-ja@xxxxx
http://www.namazu.org/cgi-bin/mailman/listinfo/namazu-users-ja

--Multipart_Tue_Sep_13_23:42:16_2011-1--


投稿者 xml-rpc : 2011年9月13日 23:42
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/107892
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。