Fessのサムネイル、まだ諦められない。
fess-thumbnail.logを見たところ、/tmpに大量にpngを残しているのは、
PDFのサムネイルを作る処理のようだ。
でも、ログには十分なメッセージが出ていないので、
手動でサムネイル作成を実行してみよう。
何かヒントが見つかるかもしれない。
PDFの場合は次の順序だ
(1)pdftoppmで/tmp/thumbnail.png.$$-1.pngを作成
(2)convertで/tmp/thumbnail.png.$$-1.pngを元にサムネイルを作成
(3)/tmp/thumbnail.png.$$-1.pngを削除
# pdftoppm -png -l 1 "test1.pdf" ./test1
Syntax Error (5236458): Missing 'endstream' or incorrect stream length
のようなエラーが20行くらい出た。
お行儀の悪いPDF作成ソフトで作られたPDFなのかな?
でも、pngファイル自体は作られている。
エラーを無視して続行できればいいんだけど。
pdftoppmの-qオプションは、エラーを出力しないらしい。
手動で試してみよう。
# pdftoppm -q -png -l 1 "test1.pdf" ./test1
エラーは出なくなった。
じゃ、サムネイルを作るスクリプトをちょっと書き換えよう。
/usr/share/fess/bin/generate-thumbnailの該当箇所に-qを書き足した。
pdftoppm -q -png -l 1 "${target_file}" ${tmp_png_prefix}
これでどうだ!
ファイルが2400個くらい格納されているフォルダを対象に
Thumbnail Generatorを実行してみると、順調に処理が進んでいく。
でも、終わってみると警告が47回出ている。
そして、/tmpにはpngファイルが28個残されていた。
警告が出たファイルをひとつずつ調べた結果は次のとおりだった。
・破損したイメージファイル1個
・パスワード付きExcelファイル5個
・パスワード付きPDFファイル13個
・普通のPDFファイル28個
壊れたファイルやパスワード付きファイルはいいとして、
普通のPDFファイルはなぜエラーになったんだろう。
手動で実行するとどうなるかな。
・・手動だと-qオプションを付けなくても実行できた。
システムに負荷がかかるとエラーになるのかな?
また行き詰ってしまった・・・。