複数の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


一つ一つ自分でタイプしていく方法を取らなくてよかった。また新しいやり方がわかって進歩した。


追記 2012.8.1

コマンドでpdfを見る方法を追加