画像とPDFを自由に加工できるimagemagickのconvertコマンドの使い方

はじめに
Ubuntuを使っていると、画像をPDFに変換したり、PDFを連結したりという作業がOS Xの時に比べて良いGUIアプリがまだありません。ただ、imagemagick
のconvert
コマンドを使用するとかなり強力な処理を実行できます。このconvert
コマンドの使い方についてまとめます。
imagemagickのインストール
convert
コマンドはimagemagick
に含まれているのでインストールします。
PDFを画像に変換、画像をPDFに変換する
以下のようにoriginal.png
がoriginal.pdf
として新規作成されます。
逆にPDFを画像に変換したい場合は順番を入れ替えます。
つまり、基本的な使い方としては以下のようになります。
実際には色々なオプションがあり、オプションを使用する場合は以下のように使います。
複数の画像を1つのPDFに変換する
以下では、正規表現を使ってimage
で始まるPNGファイルを全てまとめて1つのPDFファイルにします。5つの画像ファイルがあれば5ページのPDFファイルになります。
回転する
flip
、flop
、rotate
オプションを使用することで画像やPDFを回転できます。
上下反転
左右反転
角度を指定して回転
複数の画像を全て180度回転して1つのPDFに変換する
以下のようにすることで、フォルダ内にある全てのJPG画像を180度回転した上で、1つのPDFにまとめることができます。
PDFの指定したページのみを画像に変換する
例えばoriginal.pdf
という名前のPDFファイルがあったとき、この5ページ目を 5.jpg
という名前の画像ファイルに変換したい場合は以下のようにします。
EXIF情報を削除する
EXIF情報(撮影位置、カメラ機種、撮影時のカメラ設定など)を全て削除します。以下は元々の画像も残ります。
グレースケールに変換
画像、PDFどちらでも以下のように-type GrayScale
を指定することでグレースケール化できます。
シェルスクリプトと併用して応用する
シェルスクリプトを組み合わせることで色々な処理ができます。
複数の画像ファイルそれぞれをPDFに変換する
以下のように、for
を使って、ファイル名が条件に一致するファイルをそれぞれ画像ファイルからPDFに変換するためのシェルスクリプトを作成します。ここではこのシェルスクリプトファイル名をconvert.sh
とします。
このファイルに以下で実行権限を与えて実行すると、file-22.jpg
〜file-46.jpg
がそれぞれfile-22.pdf
〜file-46.pdf
に変換され作成されます。
ちなみに、上記は以下のように1コマンドとしてそのままターミナルにコピペしても使えます。
複数の画像をそれぞれ180度回転したものを作成して保存
以下を実行すると、現在のディレクトリにある全てのPNGファイルを180度回転したものをrotated-元のファイル名.png
という名前で作成します。
参考サイト
以下のサイト様がかなり参考になりました。画像のリサイズなどについてもわかりやすくかかれています。
まとめ
コマンドを使った処理は最初は抵抗あるかもしれませんが、大量のファイルを処理したい場合などはかなりの威力を発揮します。
開発アプリ
