QRコード(キューアールコード)は、1994年(平成6年)に自動車部品メーカーであるデンソー(愛知県)の開発部門(現在は分社化してデンソーウェーブ)が発明したマトリックス型二次元コードである。
Toolshed
IExシェルを起動します。
iex
toolshedをインストールします。
Mix.install [{:toolshed, "~> 0.2.0"}]
Toolshed.qr_encode/1
を使います。
use Toolshed
qr_encode "elixir-lang.org"
以上
Toolshed.qr_encode/1
Toolshed.qr_encode/1
はQRenco.deというウエブサービスを使ってQRコードを生成しています。
QRenco.de
QRenco.deはfukuchi/libqrencodeというプログラムを使ってQRコードを生成しています。
Req
QRenco.deはウエブサービスなのでElixirコードから直接使うこともできます。試しにreqというHTTPクライアントを使ってやってみます。
IExシェルを起動します。
iex
reqをインストールします。
Mix.install [{:req, "~> 0.3.0"}]
reqは柔軟性のある構造をしていまして、パイプで繋いで書くこともできますし、関数一個で書くこともできます。
form = [x: "elixir-lang.org"]
Req.new(url: "https://qrenco.de", method: :post)
|> Req.Request.merge_options(form: form)
|> Req.Request.put_header("User-Agent", "curl")
|> Req.Request.run!()
|> then(&IO.puts(&1.body))
form = [x: "elixir-lang.org"]
Req.post!("https://qrenco.de", form: form, headers: [{"User-Agent", "curl"}])
|> then(&IO.puts(&1.body))
他のQRコード関連Elixirパッケージ
- iodevs/qr_code: Elixir 100%
- remiq/qr_code: Elixir 100%
- nbw/qrusty: Elixir + Rust
- pggalaviz/qrcoder: Elixir + Rust
順不同
ご参考までに