Epson DS-510を購入したので数十冊自炊してみた。
今のところの感想や気づいたことなど。
ちなみに、裁断〜スキャン〜後処理 の所要時間はコミック1冊平均20〜30分くらい。
カバー/表紙/カラーページ/本体 それぞれ別々に処理しているせいだとは思うが、もう少し短縮したいところ。
スキャン
今のところ、スキャン時の設定等はこんな感じで落ち着いている。- 300dpi
- ページに合わせてカラー/グレースケール/白黒を選択
- PNM形式で保存
- xsaneのスキャナ側の設定は、明るさを0.4〜0.6くらい、コントラストを0〜0.3くらいに設定 (白い部分がきちんと白くなり、色味が変わり過ぎない程度)
- 一度にスキャンするページ数は120ページ以内
- 長尺物のスキャンができない
DS-510のマニュアルを見るとWindows等の場合は長尺物もスキャンできるようだが、xsaneからではできなかった。
結果、コミックのカバーが一発ではスキャンできないので、裁断して2回に分けてスキャンしている。場合によってはGimpで加工して1枚に再合成。 - スキャン中にxsaneがたまに落ちる
調子がいい時は全然落ちないのだけど、頻繁に落ちることもある。何がきっかけで落ちているのかは今のところ不明。 - 一度にスキャンするページ数を増やしすぎると斜めになりやすい
うまく置くとスキャナの上限枚数を超えてセットできるが、斜めにスキャンされる率が高くなったので60枚以内に抑えるようにした。
スキャン後の処理
小説
小説はページの端が白いスペースになっている。
そのため、余白を削除することでスマートフォンやタブレット等で見た時に大きく表示することができる。
余白を削除する際には、
pamcutで読み取り境界付近の黒いラインをカットしたあとに
pnmcropを行うことでうまく削除できた。(場合によってはpnmcropのオプションで調整)
その後
pnmscaleでサイズを縮小(このとき白黒からグレースケールに変換される)してからjpegへ変換。
毎回コマンド手打ちは面倒なので、下記のようなシェルスクリプトを作った。(marginやらscaleやらは適当なので微調整が必要かも)
#!/bin/bash
outputdir="/home/xxx/hoge"
margin_top=100
margin_left=100
cut_width=1300
cut_height=1950
scale=0.56
temp_dir=jpg
current_dir=`pwd`
string_dir=${current_dir##*/}
output_zip_filename=${string_dir}.zip
# make temp dir
mkdir -p ${temp_dir}
# convert image file
for i in $* ; do
outputfilename=`echo ${i} | sed "s/pnm/jpg/"`
pamcut -left ${margin_left} -top ${margin_top} -width ${cut_width} -height ${cut_height} ${i} | pnmcrop | pnmscale ${scale} | pnmtojpeg > ${temp_dir}/${outputfilename}
done
# compress all files
zip -r -j -q -9 ${outputdir}/${output_zip_filename} ${temp_dir}
コミック
コミックは余白削除が必要無いため、サイズ縮小のみやればOK。小説と同様、下記のようなシェルスクリプトを作った。
#!/bin/bash
outputdir="/home/xxx/hoge"
scale=0.56
temp_dir=jpg
current_dir=`pwd`
string_dir=${current_dir##*/}
output_zip_filename=${string_dir}.zip
# make temp dir
mkdir -p ${temp_dir}
# convert image file
for i in $* ; do
outputfilename=`echo ${i} | sed "s/pnm/jpg/"`
pnmscale ${scale} ${i} | pnmtojpeg > ${temp_dir}/${outputfilename}
done
# compress all files
zip -r -j -q -9 ${outputdir}/${output_zip_filename} ${temp_dir}
そして複数巻一気にスキャンだけした後で、下記のようなコマンドで一括でjpegへ変換を実行。
for i in `seq -w 1 10`; do cd xxx_${i}; ~/hoge/scale_comic.sh *.pnm; cd ../; done