アタリ画像を用意したり,あおり校正のために都合のよい画像変換を行うため,シェルスクリプトで画像ファイルを変換する方法をいくつか挙げています.

目次

  1. Imagemagickのconvertコマンドによる変換
    1. 拡大・縮小
    2. トリミング
    3. 透過
    4. 合成
    5. 解像度
  2. 一括変換
  3. PDFをトリミングする
  4. PDFを画像に変換する
  5. TIFFファイルを結合する
  6. EPSファイルをPDFに変換する
  7. 解像度を調べる

Imagemagickのconvertコマンドによる変換

Imagemagickをインストールすると,convertコマンドが使えるようになります.
convertコマンドの基本的な書き方はシンプルです.

convert 入力ファイル 出力ファイル

拡大・縮小

リサイズのオプションは次のように書きます.

  • -resize 50% 倍率
  • -resize 32x32 ピクセル(縦横比は維持します.)
  • -resize 32x32! ピクセル(縦横比を歪めてぴったりにします.)

トリミング

トリミングのオプションは次のように書きます.

-crop 横x縦+横軸開始位置+縦軸開始位置

ピクセル単位,左上原点です.

透過

白背景を除去するなら,

-transparent white

です.

合成

2つの画像を合成することができます.
ウォーターマークなどの画像をスタンプファイルと呼ぶことにすれば,次のように書けます.

convert 入力ファイル スタンプファイル -geometry スタンプ横軸位置+縦軸位置 -composite 出力ファイル

解像度

解像度は次のように書きます.

-density 300

一括変換

Imagemagickのconvertコマンドに代えて,mogrifyコマンドを使うことで複数ファイルをまとめて処理することができます.
次はepsファイルをPDFファイルに形式変換する例です.

mogrify -format pdf *.eps

PDFをトリミングする

PDFのトリミングだけであれば,pdfcropコマンドを使うことができます.
fileを入力ファイル,dstを出力ファイルとすれば,

pdfcrop `-10 -20 -10 -20` file dst

トリミングの値は左・上・右・下の順番です.
トリミングの単位はbpで,ほぼptと同じになります.

次のように,左右・上下という書き方をすることもできます.

pdfcrop `-10 -20` file dst

出力ファイル名(ここではdst)を省略すると,file_cropというファイル名で出力されます.

なお,このpdfcropコマンドはCentOS版には無いようでした.
UbuntuやMacではTeX関連を入れたときに一緒に入ってきました.

PDFを画像に変換する

PDFを画像に変換するには,pdftoppmコマンドを使います.

pdftoppm 入力ファイル名 出力ファイル名につける接頭辞

出力形式として,オプションから-png-jpeg-tiffを指定できます.
解像度600dpiにするなら,-r 600としてください.

PDFの2ページ目から5ページ目を変換対象にするなら,

-f 2 -l 5

と指定します.

TIFFファイルを結合する

Ghost Scriptのtiffcpコマンドを使います.
例えば,

tiffcp *.tiff output.tiff

とすると,カレントディレクトリの全ての(.tiffで終わる名前が付けれられた)tiffファイルが結合され,output.tiffにまとめられます.

EPSファイルをPDFに変換する

Ghostscriptのepstopdfコマンドを使うことで,その名の通りEPSファイルをPDFに変換することができます.

epstopdf EPSファイル

解像度を調べる

ImageMagickがインストールされているとします.
identifyコマンドで画像ファイルの様々な情報を取得でき,その中に解像度の情報が含まれています.

実際,

identify -verbose 画像ファイル名

で出力される項目のうち,Resolutionは解像度です.