Rubyで簡単にQRコード画像を生成する方法
http://qiita.com/ryosy383/items/c753103c93fa177e4466
を参考に大量に画像ファイルを作成してみました
Windows7環境下でRubyを導入し、rqrcode をインストールする必要があります
Ruby2.2.2-x64 でgemのバージョンを最新に上げトライしました
gem のバージョンを調べるには、コマンドプロンプトで gem -v
gem をアップデートするには、コマンドプロンプトで gem update --system
Ruby-2.1.1-x64 では gem のアップデートでSSL絡みのエラーが出て
上手くいきませんでした
この環境で rqrcode を導入します
依存関係のあるライブラリ「rqrcode」と「chunky_png」もインストールされます
# -*- encoding: sjis -*-
require 'rqrcode'
require 'rqrcode_png'
require 'chunky_png'
file_name = ARGV[0]
File.open(file_name,'r') do |file|
file.each_line do |line|
line.chomp!
field = line.split("\t")
# sizeはQRのバージョン、level は誤り訂正レベル
qr = RQRCode::QRCode.new( field[1], :size => 1, :level => :h )
png = qr.to_img
#300, 300はリサイズのサイズ(ドット数)
png.resize(300, 300).save(field[2])
end
end
今回、複数件のQRコードを生成させる為に、QR化した内容と保存ファイル名を
テキストファイルで用意してテストしました
テキストファイルの中身は
1 00001 c:\QR1\0001.png
2 00002 c:\QR1\0002.png
3 00003 c:\QR1\0003.png
4 00004 c:\QR1\0004.png
5 00005 c:\QR1\0005.png
生成させるドットサイズは印字するプリンターの解像度数を元に決定しました
QRコードの大きさは1セルを構成するドット数とバージョンで決まります
解像度 600dpi(1ドットで約0.0424ミリ)
バージョン 1(21セル × 21セル)
ドット数 12 (12ドットで0.5088ミリ=1セル)
の場合、Rubyのライブラリー rqrcode で作られる画像は余白が左右各2セル、2+21+2=25セル、12ドットでは25セル×12ドット=300ドット、生成された画像を600dpiで印字すると10.68ミリ四方のQRコードが生成される
セルの大きさ、最適サイズについては以下のサイトが詳しいです
http://www.qrcode.com/howto/cell.html
バッチで上記のスクリプトを動かし以下の様なQR画像が得られました
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLn-VoiccSwf8Nx1vjY4jRIgwUaS4OIcUY3aLO5WFyJo5MhCS_WrjqCPhZ4M0oWtxOpcXx7V0jWATkHFkaTEq9wkAWKJODpfvhaEgphxqt483Ih4rmP3vCWlkoqUeyLeqgTF60UpK5vWBD/s200/0001.png)
フォーマットはpngになってしまうので、必要であれば画像のフォーマットを変更する必要がある