手軽に QR コードの画像ファイルを生成できる Ruby ライブラリ rqr を試す
「ruby qrcode」でググると Y.Swetake さんの QRコードクラスライブラリ for Ruby - QRcode encode class library for Ruby が真っ先にヒットする。だが、単に PHP 版から移植したと説明されているのと beta 版ということもあって躊躇っていた。
RubyForge にないのかと探していたところ rqr - http://rqr.rubyforge.org/ が見つかった。
バイナリ出力をするのではなくファイルに書き出すだけの簡単な仕様になっている。また、libjpeg, libpng, libtiff を使用しているので予めインストールしておく必要がある。
yum で依存ライブラリをインストール
# yum install libjpeg.i386 # yum install libpng.i386 # yum install libtiff.i386
rubygems でインストール
# gem install rqr
CGI を作ってみる
パラメータのテキストを QRコード で返す CGI を作成してみる。
#!/usr/bin/env ruby require "rubygems" require "rqr" require "cgi" # # QRcode を PNG 形式のバイナリで返す # def get_qrcode_bytes(text) filepath = "/tmp/qrcode" + $$.to_s + ".png" RQR::QRCode.create do |qr| qr.save(text, filepath) end bytes = File.read(filepath) File.delete(filepath) return bytes end cgi = CGI.new text = cgi["text"] cgi.out("image/png") { get_qrcode_bytes(text) }
非常にお手軽で、ネイティブライブラリを使用しているので実行速度も速くて便利だ。