前回、WindowsでDjVuファイルをPDFファイルへ一括変換するプログラム(バッチファイル)を作成しました。
今回は、Linux(Ubuntu)バージョンです。
なお、今回のバージョンは以下です。
- Ubuntu 14.04 LTS(64bit)
- djvulibre-bin
djvulibre-binのインストール
DjVuLibreのコマンドラインのDjVuデコーダー「ddjvu」は、「djvulibre-bin」に含まれるので、apt-getコマンドでインストールします。
$ apt-cache search djvulibre-bin
djvulibre-bin - DjVu 画像形式用ユーティリティ
$ sudo apt-get install djvulibre-bin
これで、ddjvuが使えるようになりました。
DjVuからPDFへの自動変換プログラム
Windowsの時と同様に、パラメータで特定のディレクトリを与えて、その中のDjVuファイルをPDFファイルへ変換するようにします。
そういうわけで、以下のようなプログラム(シェルスクリプト)を作成しました。
#!/bin/bash
if [ $# -ne 3 ]; then
echo "パラメータが3つではありませんので、処理を終了します。"
exit 1
fi
expr $3 + 1 > /dev/null 2>&1
ret=$?
if [ $ret -lt 2 ]; then
if [ $3 -gt 150 ] || [ $3 -lt 25 ]; then
echo "第3パラメータの数値が25~150の間ではありませんので、処理を終了します。"
exit 1
fi
else
echo "第3パラメータが数値ではありませんので、処理を終了します。"
exit 1
fi
djvuPath=$1
pdfPath=$2
q=$3
echo "第1パラメータ(DjVu格納元フォルダ):$djvuPath"
echo "第2パラメータ(PDF格納先フォルダ):$pdfPath"
echo "第3パラメータ(画質(圧縮率)):$q"
for file in `find $djvuPath -maxdepth 1 -name '*.djvu'|sort`; do
fileDir=$(dirname $file)
fileBase=$(basename $file)
fileOnly=${fileBase%.*}
cmd="ddjvu -format=pdf -quality=$q -verbose $file $pdfPath$fileOnly.pdf"
$cmd
done
echo "処理が正常終了しました。"
exit 0
これを以下のように実行すれば、指定したフォルダ内のDjVuファイルを一括でPDFファイルへと変換します。
bash ~/djvu2pdf.sh /media/sf_Ubuntu/DjVu/ /media/sf_Ubuntu/PDF/ 100
最後に
無事にLinux(Ubuntu)でも、DjVuファイルをPDFファイルへ一括変換できました。
コメント