前回、WindowsでDjVuファイルをPDFファイルへ一括変換するプログラム(バッチファイル)を作成しました。
今回は、Linux(Ubuntu)バージョンです。
なお、今回のバージョンは以下です。
- Ubuntu 14.04 LTS(64bit)
- djvulibre-bin
djvulibre-binのインストール
DjVuLibreのコマンドラインのDjVuデコーダー「ddjvu」は、「djvulibre-bin」に含まれるので、apt-getコマンドでインストールします。
1 2 3 4 | $ apt-cache search djvulibre-bin djvulibre-bin - DjVu 画像形式用ユーティリティ $ sudo apt-get install djvulibre-bin |
これで、ddjvuが使えるようになりました。
DjVuからPDFへの自動変換プログラム
Windowsの時と同様に、パラメータで特定のディレクトリを与えて、その中のDjVuファイルをPDFファイルへ変換するようにします。
そういうわけで、以下のようなプログラム(シェルスクリプト)を作成しました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | #!/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ファイルへと変換します。
1 | bash ~ /djvu2pdf .sh /media/sf_Ubuntu/DjVu/ /media/sf_Ubuntu/PDF/ 100 |
最後に
無事にLinux(Ubuntu)でも、DjVuファイルをPDFファイルへ一括変換できました。
コメント