LoginSignup
1
0

More than 5 years have passed since last update.

macOSでAutomatorを使ってフォルダ内イメージをpdfに結合する

Last updated at Posted at 2018-11-25

連番イメージをpdfに結合する方法を自動化したい

ちょっとした自動化を行いたかったので、メモがてら投稿する。

スクリーンショット 2018-11-25 10.51.43.png
スクリーンショット 2018-11-25 10.52.01.png

流れとしては
1. Finder項目の選択でディレクトリを指定
2. ディレクトリ名を覚えておく
3. フォルダの内容でサブディレクトリ以下も検索対象に入れる
4. フィルタでイメージを抽出する
5. ファイル名で並び替え
6. pdfに結合
7. デスクトップ上のファイル名の変更をシェルで実施

rename部分のシェルスクリプト

入力したファイルパスの末尾をdir_nameに入れてpdfのリネームに使う
入力したファイルパスを使って対象にしたディレクトを削除する

input_path=$@
echo ${input_path}
dir_name=`echo ${input_path} | awk -F "/" '{ print $NF }'`
echo ${dir_name}

cd ~/Desktop
echo "/Users/myname/Desktop/${dir_name}.pdf"
mv "/Users/myname/Desktop/tmp.pdf" "/Users/myname/Desktop/${dir_name}.pdf"
rm -rf "/Users/myname/Desktop/tmp/${dir_name}"
mv "/Users/myname/Desktop/${dir_name}.pdf" /Users/myname/Desktop/tmp 

課題

ディレクトリ - サブディレクトリ 1 - 連番jpg
+ サブディレクトリ 2 - 連番jpg
という構成でディレクトリを指定したらサブディレクトリ名pdfにする方法がいまいち分からない。
シェルスクリプト使ってこんな感じに使えたらいいんだけどautomatorへ渡す引数を上手いこと反映させられない

#!/bin/bash

files="/User/myname/Desktop/*"
for filepath in $files; do
  if [ -d $filepath ] ; then
    automator pdf_converter "${filepath}"
  fi
done

追記

ディレクトリ内のサブディレクトリごとに変換する方法が上手く行かなかったのでautomatorのフォルダアクションを使って、フォルダに順次mv コマンドを送る方法で実現することにした

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0