• sago

ショートカットアプリを使ってFileMaker Proから写真を撮る

更新日:3月24日

FileMaker Proへ撮った写真を登録するには

  1. 写真を撮る

  2. Macに何らかの方法で転送する(iPhoneならAirdropが楽)

  3. FileMaker Proのオブジェクトフィールドへ入れる

と、そこそこ手間がかかります。

※Windowsの場合は当社のFM WinCameraを検討してください(CM)

https://www.mirai-switch.com/fm-wincamera


この問題を少し解決するためにmacOSのショートカットアプリを試してみました。

ショートカットアプリは元々iPhoneやiPadで動作するものでしたが、それがmacOS Montereyから対応しました。

12.2までは、ちょっと出来がイマイチだったのですが、12.3からは少しマシになりました。仕様通りでしたらmacOS Montereyリリース時点でこの記事を書いていたのですが、ショートカットの命令のカメラが起動しなかったのです・・・。


完成図

完成図
完成図

「写真を撮る」ボタンが押されるとカメラが起動し

「写真を撮る」ボタンが押されるとカメラが起動

撮影するとFileMaker Proのオブジェクトフィールドに入ります。


作り方

どういう仕組みかと言うと、

  1. ショートカットアプリの特定のショートカットを起動

  2. 写真を撮る

  3. 写真をBase64変換する

  4. Base64変換したテキストをクリップボードに入れる

  5. ショートカットアプリからFileMaker Proのファイルのスクリプトを実行

  6. FileMaker Proのファイル側で貼り付け

  7. Base64テキストを変換して画像として表示

という手順になります。

3.でわざわざBase64変換せずに画像としてそのままクリップボードに入れれば良いのでは?と思うかもしれませんが、何故か上手くいかなかったのです。


1.ショートカットアプリの特定のショートカットを起動

ショートカットアプリの特定のショートカットを起動

と入力すれば「Macで写真」というショートカットが実行されます。

最後の「&」が意味不明ですが、何故か入れないとエラーが出るのです。

ショートカットを起動するURLスキームの説明は下記を参考にしてください。


MacでURLスキームを使用してショートカットを実行する

https://support.apple.com/ja-jp/guide/shortcuts-mac/apd624386f42/mac



2.写真を撮る

写真を撮る

右の「写真」と表示されている部分で「写真」と入れて「写真を撮る」を選択します。

特に設定は不要です。

「カメラプレビューを表示」のチェックを外すと動作しません。

写真の数を増やすと動作しません。


3.写真をBase64変換する

写真をBase64変換する

右の「写真」と表示されている部分で「base」と入れて「Base64エンコード」を選択します。

選択時に、「写真を撮る」の直後に入れると上記のようになります。しかし、一番上に挿入すると、「写真」の部分が「入力」と表示されています。順番を変えれば「写真」になるはずです。

「入力」と表示されている場合は「マジック変数」を選択すると、「写真を撮る」の直後に「写真」と表示されますので選択します。

この辺の操作が少し独特です。



4.Base64変換したテキストをクリップボードに入れる

Base64変換したテキストをクリップボードに入れる

右の「写真」と表示されている部分で「クリップボード」と入れて「クリップボードにコピー」を選択します。



5.ショートカットアプリからFileMaker Proのファイルのスクリプトを実行

ショートカットアプリからFileMaker Proのファイルのスクリプトを実行

右の「写真」と表示されている部分で「URLを開く」と入れて「URLを開く」を選択します。

  • ファイル名「Macで写真を撮る」

  • スクリプト名「カメラから貼り付け」

設定はFileMaker のURLスキームの話です。

開いているファイルのスクリプトを実行するので「fmp://$/」と書きます。

詳細は下記を参照して下さい。


URL を使用してファイルを開く

https://help.claris.com/ja/pro-help/content/opening-files-url.html


セキュリティの設定

だいたい動かないときはこの設定を忘れがちです。

「URLによるFileMakerスクリプトの実行を許可」にチェックを入れておきましょう。

セキュリティの設定


6.FileMaker Proのファイル側で貼り付け

クリップボードにあるBase64テキストをFileMakerのファイルに貼り付けます。貼り付けるフィールドはレイアウト上に配置する必要があります。



7.Base64テキストを変換して画像として表示

撮影した画像はPNG形式です。

ファイル名はPNGの拡張子にしておきましょう。

計算結果を「オブジェクト」にしておきましょう。

計算結果を「オブジェクト」にしておく

これで完成です。



その他

画像サイズが小さいのでハードウェアに依存するのかなと思い、iMac(M1)で実行しても変わりませんでした。今までの写真はMacBook Air(M1)。

iMac(M1)で撮影
iMac(M1)で撮影

iMacの方が広角レンズなので、そこのハードウェア的な差は出ましたが解像度は480×360でした。

iMac (M1) : 1080p

MacBook Air (M1) : 720p



まとめ

Mac上でショートカットアプリを利用して内蔵カメラで写真を撮ることに成功しました。

用途としては、

  • ログイン時の写真を撮る。(セキュリティ的な意味で)

  • 会員カードの撮影。

等が考えられます。


ショートカットアプリを利用しているので誰でも改造出来てしまうので、もしログイン時に使用者の写真を撮るという用途で使うと、完全ではありません。


ハードウェアがなかったので、テストは出来ませんでしたが、USB接続のWebカメラが使えれば用途が広がるかもしれません。

※後日テストした結果を追記します。

テストしましたが、ショートカットアプリでカメラを指定出来ませんでした。

MacBook Airでテストしているのでカメラが付いていな機種でテストしてみます。

※後日テストした結果を追記します。

カメラが付いていないMac miniにバッファローのWebカメラ(USB接続)を付けて試した所、認識してショートカットアプリで撮影することが出来ました。


つまり、ショートカットアプリでカメラを指定することは出来ない

OS的に指定することも出来ないように見える(ターミナルとか使ったたら出来るのかも)

Mac miniなら接続しているWebカメラが唯一のカメラになるので認識して使える。


 

余談

macOSでは最近、近くにあるiPhoneやiPadのカメラを利用して写真を取り込むことが出来ます。

Mac で連係カメラを使う

https://support.apple.com/ja-jp/HT209037


FileMaker Proがこの機能に対応してくれれば良いのにな・・・と思います。

「書類のスキャン」だと傾き等も補正してくれるので、すごく便利そうなんですよね。

閲覧数:212回0件のコメント