
FileMakerで(jquery.qrcode.jsを使って)簡単にQRコードを表示する
こんにちは。
株式会社フルーデンスの小巻です。
FileMakerで、QRコードを表示したいことがありましたので、比較的簡単に実装できる方法を模索しました。
HTMLソース内で参照しているJavaScriptなどは、ご自分のS3などにホストして使ってください。
更新履歴
2023年9月25日
2023年9月25日に、以下の記事を公開しました。
簡易的にQRコードを生成できるようになりましたので、興味がありましたら、ご確認ください。
FileMakerからQRコードを生成するためのAPIを公開しました | フルーデンス
できること
- 生成したQRコードを、Webビューアに表示する。
できないこと
- 生成したQRコードを、オブジェクトフィールドに保存する。
QRコードをバイナリデータとして取得する部分につていは、AWS Lambda + API Gateway で別途記事にします。
ダウンロード
cloneするか、ダウンロードしてください。
https://github.com/frudens/filemaker-qr
jquery.qrcode.jsのドキュメントを確認する
最近は、積極的にJavaScriptを使うようにしています。(Node.js 楽しい!)
今回は、jquery-qrcodeというjQueryライブラリを使います。
https://github.com/jeromeetienne/jquery-qrcode
exampleをみると、説明の必要がないくらい簡単です。
早速、FileMakeで使えるように実装します。
まずは表示されることを確認する
- html(例として)フィールドに以下のHTMLを貼り付けます。
- Webビューアの計算式にhtmlフィールドを設定します。
- WebビューアにQRコードが表示されます。

data:text/html,
<!DOCTYPE html>
<head>
<style>
#qrcodeTable {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script src="http://jeromeetienne.github.io/jquery-qrcode/src/jquery.qrcode.js"></script>
<script src="http://jeromeetienne.github.io/jquery-qrcode/src/qrcode.js"></script>
<div id="qrcodeTable"></div>
<script>
jQuery('#qrcodeTable').qrcode({
render : "table",
width : 200,
height : 200
text : "https://frudens.jp"
});
</script>
</body>
</html>
カスタム関数にする
こちらも説明不要ですが、以下のような流れでカスタム関数にします。
- HTMLをVimで開きます。
:%s/^/"/g:%s/$/" ;/g:%y- FileMakerのカスタム関数を新規作成します。
- さきほど作成したHTMLを貼り付けます。
- 修正します。


Let (
~html =
List (
"data:text/html," ;
"<!DOCTYPE html>" ;
"<head>" ;
"<style>" ;
"#qrcodeTable {" ;
" display: flex;" ;
" flex-direction: column;" ;
" justify-content: center;" ;
" align-items: center;" ;
" width: 100%;" ;
" height: 100%;" ;
"}" ;
"</style>" ;
"<script src=\"https://code.jquery.com/jquery-3.4.1.min.js\"></script>" ;
"<script src=\"http://jeromeetienne.github.io/jquery-qrcode/src/jquery.qrcode.js\"></script>" ;
"<script src=\"http://jeromeetienne.github.io/jquery-qrcode/src/qrcode.js\"></script>" ;
"</head>" ;
"<body>" ;
"<div id=\"qrcodeTable\"></div>" ;
"<script>" ;
"jQuery('#qrcodeTable').qrcode({" ;
" render : \"table\"," ;
" width : __WIDTH__," ;
" height : __HEIGHT__," ;
" text : \"__TEXT__\"" ;
"});" ;
"</script>" ;
"</body>" ;
"</html>" ;
) ;
Substitute (
~html ;
[ "__WIDTH__" ; width ] ;
[ "__HEIGHT__" ; height ] ;
[ "__TEXT__" ; text ]
)
)
カスタム関数を使って表示する
先程作成したカスタム関数を使ってWebビューアに表示します。

iOSのカメラアプリで確認する

注意点
- おそらくWebDirectでは機能しません。
- (ソース内のJavaScriptがローカルにない場合は)オフラインでは機能しません。
- 読み込んでいるJavaScriptがアクセスできなくなった場合は機能しません。
- Windowsでは検証していません。
- どなたかWindowsで確認できた際は、教えてくださいm(_ _)m
あとがき
比較的簡単に実装できました。
QRコードを表示したいだけであれば、簡単に使えるので良いと思います。
次回のブログでは AWS Lambda + Amazon API Gateway を活用して…
- XMLをJSONにコンバートする。
- puppeteerを使って、ログインが必要なWebサイトからCSVファイルをダウンロードする。
- Gmail、Googleカレンダー、Twitter、などの各種APIを、Node.jsのモジュールを利用してアクセスする。
などを書こうと思います。