【Mac】複数のPDFファイルを1つのJPEGファイルにドラッグで変換する【Automator】

複数のPDFを1枚の画像にしたい!っていうときたまにはありますよね。画像をプレビューで複数枚開いてくっつけるようなこともできそうだけど、それだと毎回面倒です。プログラムを書いて実行すれば、できるだろうけどそれをやるのも面倒。なんか良い方法ないかなーと思ったけど、MacにはAutomatorがあります。

いろんなアクションを組み合わせて様々な作業を自動化してくれるようなものですね。iPhoneのショートカットみたいなやつ。これを使えばできそうな気がするのでやってみます。

ImageMagickをインストールする

Automatorを使ってサクッとやってやるぜ!と思ったんだけど、Automatorで用意されているものを組み合わせるだけじゃうまくいきませんでした。だけど、諦めるのはまだ早いです。Automatorからはシェルスクリプトを実行することができます。普通にやってできないなら、シェルスクリプト実行して複数のPDFを1つの画像にしてやろうと思ったわけです。

画像を編集するにはImageMagickというものを使いたいのでImageMagickをインストールします。画像を編集することのできるやつですね。インストールするために、ターミナルで以下のコマンドを打つ。自分はHomebrewを使っているから、brewコマンドでインストールします。

$ brew install imagemagick

Homebrewを使いたい人はHomebrewからコマンドを打ってインストールして使ってみるといいです。インストールしたらbew 〇〇でいろんなパッケージを入れることができるようになります。ImageMagickのインストールが終わったら、これが使えるかちょっと確かめてみますかね。

以下のコマンドを打ってみて、出力画像名に設定した名称で1枚の画像になったものができるかどうかみてみるといいですね。

// 縦に連結
$ convert -append 画像パス1 画像パス2 画像パス3 出力画像名// 横に連結
$ convert +append 画像パス1 画像パス2 画像パス3 出力画像名

試したところ、複数の画像が1枚の画像に連結されたものができたので、とりあえず確認はOK。次はAutomatorで複数枚のPDFを1枚の画像にするアプリケーションを作っていきます。

Automatorで複数のPDFを1つの画像(JPEG)にするアプリケーションを作る

今回作るアプリケーションは複数のPDFを選択したら、それらを1つの画像(JPEG)にしてくれるっていうもの。Automatorのフォルダアクションでも良さそうだけど、自分の今のMac(OSはCatalina)だとうまくフォルダアクションが機能しないので、アプリケーションでいきます。

今回は、以下の3つのアクションを右側に入れておきましょう。

  • 指定されたFinder項目を取得・・・追加ボタンから複数のPDFファイルを設定
  • PDFページをイメージとしてレンダリング・・・フォーマットは[JPEGイメージ]
  • シェルスクリプトを実行・・・画像を結合するスクリプトを記述する

指定されたFinder項目を取得っていうのは、Automator上で試すだけなので実際に動いたらあとで消します。結合させたいPDFファイルを適当にいくつか追加しておいてください。

シェルスクリプトはこんな感じにします。

// Automator上でパスを通さないとconvertコマンドにパスが通らず使えない。
export PATH=$PATH:/usr/local/bin

name=""
for f in "${@}"
do
	fileName=`echo $f | sed -e 's/ /_/g'`
	mv "${f}" "${fileName}"
	name+=" $fileName"
done

convert -append $name /Users/〇〇/Downloads/"${RANDOM}".jpeg

シェルスクリプトぶっちゃけ書いたことないから適当感あるけど、やりたいことはさっきインストールしたImageMagickで画像を結合させたいだけ。convert -append $name /Users/〇〇/Downloads/"${RANDOM}".jpegの部分。/Users/〇〇/Downloads/"${RANDOM}".jpegは、保存する場所とファイル名を指しているので、ここは自分の好きな場所にしておきましょう。${RANDOM}は適当なファイル名にするためのものですね。

for文で回しているのは、普通にやるとファイル名に空白が入ってしまって画像を結合する時にうまくいかなかったから。なので空白を削除しています。

右上の実行ボタンから実行してみてうまくいったら[指定されたFinder項目を取得]っていうアクションを消して保存しましょう。

これを保存して、複数のPDFファイルを保存したアイコンにドラッグアンドドロップするとどうでしょう。

今回はダウンロードフォルダに指定したので、そこに保存されたファイルを開くとこんな感じですね。4つのPDFファイルが結合されて1つのJPEGファイルになっています。

どうやら、複数のPDFファイルを1つのJPEGファイルにすることができたようです。Automatorで作成したアプリケーションは、デスクトップなんかに置いておくとデスクトップに置いたアイコンにドラッグ&ドロップするだけでJPEGになるから便利かもしれないですね。

まとめ

複数のPDFファイルを1つのJPEGファイルにしてみたけど、どうだろうか。シェルスクリプト書かないといけないのが面倒だけど、1度作ってしまえばあとはドラッグアンドドロップでできるからいいかもしれない。シェルスクリプト の記述をちょっといじれば、保存先やファイル名を変更することができるからやってみるといいですよ。

画像の結合方法は今回縦に結合したけど、コマンド次第で横に結合もできるから自分の好きなようにやっちゃってください。

 

Twitterでフォローしよう

おすすめの記事