Automatorを使って、PDFをpngに変換してPDFファイルと同名のディレクトリに置く

2020.10.20

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、CX事業本部の夏目です。

今回はmacOSに標準でインストールされているAutomatorを使ってPDFをpngにしようと思います。
pngに変換するだけなら他のサイトで紹介されたりしているのですが、PDFファイルと同名のディレクトリを作成して、そこにpngファイルを保存しようと思います。

作成

0. Automatorを起動する

Finderでアプリケーション -> Automator.appを探し、ダブルクリックします。

1. クイックアクションの作成

Finderで右クリックから使用したいので、今回はクイックアクションを選択します。

クイックアクションのワークフロー作成画面に遷移したら、次のように変更します。

  • ワークフローが受け付ける現在の項目: PDFファイル
  • 検索対象: Finder.app

2. 変数の定義

ウィンドウ最下部の長方形が2つ縦に並んだアイコンをクリックして、変数を見れるようにします。

変数と書かれているところの下の、シマシマの部分を右クリックして次の変数を定義します。

  • pdf_path: PDFファイルのパス
  • pdf_name: PDFファイルの名前
  • pdf_dir: PDFファイルがあるディレクトリ
  • save_dir: pngファイルを保存するディレクトリ

3. PDFファイルのパスを変数に保存する

何度も使うことになるので、PDFファイルのパスを変数に保存します。

左のカラムから ユーティリティ -> 変数の値を設定をドラッグ(もしくはダブルクリック)してワークフローに追加し、変数としてpdf_pathを選択します。

4. PDFファイルの名前を取得し、変数に保存する

PDFファイルのパスが今のままだとフルパスで拡張子も含まれるので、拡張子のないファイル名のみを取り出し、変数に保存します。

今回はシェルスクリプトを使用してファイル名を取り出します。
ユーティリティ -> シェルスクリプトを実行をワークフローに追加し、次のように設定します。

  • シェル: /bin/zsh (なければ /bin/bashでも可)
  • 入力の引き渡し方法: 引数として
  • スクリプト: basename "$1" .pdf

これでファイル名を取り出すことができたので、先程と同様に変数 pdf_nameに保存します。

5. PDFファイルのディレクトリを取得し、変数に保存する

PDFファイルの名前を変数に保存したので、次はPDFファイルがあるディレクトリを保存します。

今渡ってきている結果にはPDFファイルの名前なので、ここまでの実行結果を受け取らずに変数に保存したPDFファイルのパスを取得します。
ユーティリティ -> 変数の値を取得をワークフローに追加し、次のように設定します。

  • 変数: pdf_path
  • オプションをクリックし、このアクションの入力を無視にチェックを付ける

次にファイル名を取得したときと同様にシェルスクリプトを使用して、ディレクトリパスを取得します。

  • シェル: /bin/zsh (/bin/bashでも可)
  • 入力の引き渡し方法: 引数として
  • スクリプト: dirname "$1"

ディレクトリパスを取得できたので、変数 pdf_dirに保存します。

6. pngファイルの保存先ディレクトリのパスを作成する

pngファイルはPDFファイルと同名のディレクトリに保存するので、先程取得したディレクトリパスとファイル名をつなげたいと思います。

ディレクトリパスは今結果として取得できているので、変数pdf_nameを取得して結果にファイル名を追加します。

続いて、ディレクトリ名とファイル名をつなげて一つにします。
こちらもシェルスクリプトを使用して行います。

  • シェル: /bin/zsh (/bin/bashでも可)
  • 入力の引き渡し方法: 引数として
  • スクリプト: echo "$1/$2"

ディレクトリパスとファイル名をつなげて、pngファイルを保存するディレクトリのパスを取得できたので、変数save_dirに保存します。

7. pngファイルを保存するディレクトリを作成する

次はpngファイルを保存するディレクトリを作成します。
ファイルとフォルダ -> 新規フォルダをワークフローに追加して、次のように設定します。

  • 名前: 変数pdf_nameをドラッグして設定
  • 場所: 変数pdf_dirをドラッグして設定
  • オプションをクリックし、このアクションの入力を無視にチェック

8. PDFファイルをpngファイルに変換して保存する

これで準備が終わったので、PDFファイルをpngファイルに変換します。

まず、今までの結果を受け取らずに変数pdf_pathからPDFファイルのパスを取得します。

  • 変数: pdf_path
  • オプションをクリックし、このアクションの入力を無視にチェック

次にPDFを画像にしていきます。
PDF -> PDFページをイメージとしてレンダリングをワークフローに追加します。
ここで画質や形式等を設定できるのでお好みに設定してください。
(例として自分の好みを記載します)

  • カラーモデル: RGB
  • フォーマット: PNGイメージ
  • 解像度: 400ドット/インチ
  • 圧縮: 最高から3つ目の目盛り

PNGイメージの生成まで終わったので、PDFファイルと同名のディレクトリに保存します。
ファイルとフォルダ -> Finder項目を移動をワークフローに追加し、次のように設定します。

  • 保存先: 変数save_dirをドラッグして設定
  • 既存のファイルを置き換えるにチェックをいれる

最後にファイル名を連番に変更します。
ファイルとフォルダ -> Finder項目の名前を変更をワークフローに追加し、次のように設定します。

  • 日付または時刻を追加連番付きの名前にするに変更
  • 番号の追加先: 新しい名前を選択
  • 区切り文字: なし
  • すべての番号をの左のチェックボックスにチェックをいれ、右の数値を3にする

9. 保存

Command + Sで保存します。
名前は好きなもので構いません(自分はpdf2pngにしました)。

これでFinderでPDFファイルを右クリックするとpngファイルに変換することができます。
PDFファイルを右クリックしてサービス -> pdf2png(保存した際の名前)で使用することができます。

まとめ

以上、AutomatorでPDFをpngに変換してPDFファイルの名前のディレクトリに保存する方法でした。
右クリックから使用できるので非常に便利です。
もしよかったら試してみてください。