複数のjpegを一つのpdfへ変換した時のメモ
ImageMagickを使って。複数のjpegを一つのpdfに変換したときに困ったことのメモを書いとく。
ImageMagickを使って変換するときはconvetコマンドを使う。
$ convert *.jpg gakufu.pdf
ここでファイル名が連番に出力されなくて困った。
1.jpg 2.jpg 3.jpg ... 10.jpg 11.jpg 12.jpg
という風にファイルがあった時に、*.jpg とすると
1.jpg 10.jpg 11.jpg 12.jpg 2.jpg 3.jpg 4.jpg ...
という順番になってしまって変換できなかった。
sortコマンドを使えばできるだろうと思ったら、これはファイル内の行をソートするコマンドだったのでファイル名ソートには使えなかった。ファイル名のソートで検索してみるとlsコマンドでやればいいことがわかった。
$ ls -v # -v ファイル名をバージョン順でソートする -> 1.jpg 2.jpg 3.jpg 4.jpg 5.jpg 6.jpg 7.jpg 8.jpg 9.jpg 10.jpg 11.jpg 12.jpg
あとはこの結果を使うために変数に格納する。コマンドの実行結果を使いたい時はバッククォートで囲む(参考)端末にそのまま打てばOK。
$ VAR=`ls -v`
そしてあとは定義した変数を使えば出力できる。
$ convert $VAR gakufu.pdf
コメントの通り、`ls -v`を変数に格納せずにコマンドの中に入れればもっと短くかけた。
$ convert `ls -v` gakufu.pdf
こんな風にして連番のjpgを順番通りのpdfに変換することができた。
ちなみにコマンドでpdfを見る場合、GNOMEではevinceというものがインストールされていてそれを使うみたい。
$ evince gakufu.pdf
一つ一つ自分でタイプしていく方法を取らなくてよかった。また新しいやり方がわかって進歩した。
参考サイト
変数を使用する | UNIX & Linux コマンド・シェルスクリプト リファレンス
lsコマンドの結果をソート(昇順)する|Linux Tips
http://d.hatena.ne.jp/itiri/20080310/1205151373
追記 2012.8.1
コマンドでpdfを見る方法を追加