iOSで、今見ているページの画像をPDF化して保存するショートカットを作った

なんとなく出来そうだなーと思って、

iOSのshortcutsで、今表示しているページに含まれている画像のうち、300×300以上のものを抽出して、ページタイトルでファイル名を付けたPDFを作成し、iCloud(もしくはDropBox)に保存するっていうのを作ってみました。

やってやれなくはなかったけれど、
さすがに・・・処理が・・・重いっすねえ・・・。

さらに下記は、選択肢をめっちゃ増やして、ページタイトル・フォーマット・保存先が選べるVer
予めクリップボードにタイトルをセットしておくと、そのタイトルも選べる

・・・んだけれど、選択肢が出る事自体が ちょっと あんまり 好きじゃないな。
(この処理自体が長いので、処理が終わるまで待ってなくちゃいけないため)


あと、300×300以上のファイルは問答無用で含まれてしまうので、これも やろうと思えばfor処理をかけてあげれば、一定の条件を満たした画像は省く、みたいなことも できなくはないんだけれど、

if 文。と見せかけて if 。式なので分岐内の最後のアクションの出力をそのまま下に渡す。

iOS ユーザーのプログラマーに今すぐオススメしたい「ショートカット」アプリより引用

これの仕様が かなり 分かりにくい・・・・!

普通、IFでもFORでも、条件に満ちなければ何もしない みたいなイメージだと思うのですが、条件用にテキストを拾った場合、そこから先は「テキスト」データとして流れてくるので、それまで持ってた画像がどっかに行ってしまう。

で、画像として下の処理にも流したい場合、どうするかっていうと、上手い方法がなかなかなくて、私は一旦下記のように設定しています。

for (繰り返し) {
  画像からファイル名を取得する(ここでテキストになるので、画像に戻さないとPDFにできない)
  if (条件文) {
    繰り返し項目からイメージを取得(ここで画像に戻す)
  } else {
    繰り返し項目を(小さめに)サイズ変更(ここで画像に戻す)
  }
}

繰り返しの結果にフィルタ適用(小さいサイズを除外)

・・・うーん、、、、すっげえ ださい・・・。

画像リストから対象画像を省く or 順次テンポラリに入れる とか出来れば良いのですが、そこまで複雑なことをやるには向いてないっスかねえ・・・。ざっと見た感じ、それっぽい処理ないんすよね。うーん。

ただ、まあ、一つ言えることは、
無制限で追加できるって、ものすごいサービスだと思うんですよ。
(昔は有料で450円くらいで その時に課金してましたが、その時からもアップデートされてる)

これと同じ事を、webサービスでやろうとすると、
プロジェクト(タスク)が1つだけだったり、1時間に実行できる回数に制限があったりとか。

そりゃまあ処理はiOS端末自体で行うっちゃ行うんですが、
便利な世の中になったものです。

 

ていうか作り終わった後に見つけたけれど、このページめっちゃ便利な・・・!?
先に知りたかった・・・。

ショートカットApp アクションリファレンス
https://350ml.net/shortcuts/

ひょっとして、変数に追加 で 画像リソースを変数に追加していって、
最後に変数を引用すれば行けるのかな。行けるかもしれないな。

for (繰り返し) { 
  画像からファイル名を取得する 
  if (条件文) {
    変数に繰り返し項目を追加
  }
}

変数からイメージを取得

→いけました。用途が限定すぎて汎用性に欠けるので公開こそしませんが、こんなこともできるよーと。

shortcuts

Posted by tailpiece