【macOS】Automatorで「pdf => png」「png => pdf」のクイックアクションを作る

参考元

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

これのパターンを元に手を加えた

やりたいこと

pdfへの直書きができなかったり,写真をそのまんまpdfでまとめたかったり,そういう時にGUIをいちいち立ち上げるのは面倒すぎた あとBig Surのプレビュー.appが72dpiでしかラスター出力できなくなってて詰んだ,それだと細かく書ききれないからマジで辛い…

縛り

  • Automator使用
    • 簡単に
    • 汎用に
    • 単一完結
  • クイックアクションとして呼び出す
    • それならファイルを右クリックして呼び出せる
    • アプリケーションとして?そんなん要らんやろ
  • Apple Scriptなし
    • Finderやプレビューの呼び出し説明書を読む気力が全くない
    • 本当ならScriptを書いて完結させるのがスマートだとは思う

PDF to PNG

1つのpdfから複数のpng

1.pdfファイルの受け入れ

1.png

ポイント

Automatorにはパス操作向けのテキスト処理の機能がないからbashのちからを借りるぜ! 入力は引数として入ってきた順番で$1$2みたいにになるぜ! 標準出力がそのままモジュールの出力になるぜ! basenameにこんな感じにフルパスと拡張子を渡せば元のファイルの名前が得られるぜ!

2.生成するpngファイルの命名

2.png

ポイント

デフォルトだと元のpdfの名前がつくようになってるぜ!

3.元のpdfファイルがあるフォルダのパスを取得

3.png

ポイント

bashのちからを借りるぜ! pngファイルをしまうフォルダを作るのに必要だぜ! dirnameにこんな感じにパスを渡せば1段だけ上のディレクトリのパスが得られるぜ!

4.収納するフォルダのパスを生成

4.png

ポイント

bashのちからを借りるぜ! pngファイルをしまうフォルダを作るのに必要だぜ! さっき作ったフォルダの下にさっきつけた名前でフォルダを作った時のパスが得られるぜ! ただし末尾に_PNGsをつけてわかりやすくしてやるんだぜ!

5.収納するフォルダを生成

5.png

ポイント

こっちも末尾に_PNGsをつけるんだぜ!

6.pngレンダリング

6+.png

ポイント

他の拡張子を選ぶといろんな設定が出てくるぜ! ちなみに350dpiは日本の印刷機には多い要件らしいんだぜ!

7.名前を編集してフォルダに収納

7.png

ポイント

作成日の昇順で並べてから1スタートの連番を通すとページ数になるぜ! (ところでフォルダに収納しなかったファイルはどこにいくんだろうな)

PNG to PDF

複数のpngから1つのpdf

1.pngファイルの受け入れ

1+.png

ポイント

さっきとほとんど同じだぜ! 複数選択の場合だとFinder表示上のトップファイルが変数の先頭になるっぽいぜ!

2.生成するpdfファイルの命名

2+.png

ポイント

さっきとほとんど同じだぜ!

3.元のpngファイルがあるフォルダのパスを取得

3+.png

ポイント

さっきとほとんど同じだぜ! 元の画像たちはなるべく1つのフォルダにまとめて置いとくことをおすすめするぜ!

4.収納するフォルダのパスを生成

4+.png

ポイント

さっきとほとんど同じだぜ! ただし末尾に_PDFをつけてわかりやすくしてやるんだぜ!

5.収納するフォルダを生成

5+.png

ポイント

こっちも末尾に_PDFをつけるんだぜ!

6.pdfをレンダリング

6++.png

ポイント

pngファイルの名前の順にページを編み込めるぜ! 並びを指定したい時は名前を変えればいいんだぜ!

7.名前を編集してフォルダに収納

7+.png

ポイント

さっきとほとんど同じだぜ! 基本名だけ変えた方が安全だぜ!

感想

確かに手間は省けるようになった. ただしpdfからの変換は全てのページがpngになるので,不要なものは手動で消さねばならない …おとなしくクリスタEXとpdf対応IOプラグインを買いたいなと思いました.CELSYS万歳!