gem
barby, chunky_png(barbyを入れたら入ってる)
setting
https://github.com/toretore/barby/wiki/Outputters
- xdim: (default: 1)
- ydim: (default: same as xdim)
- height: (default: 100)
- margin: (default: 10)
code
PNGにしてbase64でそのままHTMLに
require 'barby'
require 'barby/barcode/code_128'
require 'barby/outputter/png_outputter'
def barcode_output
barcode_string = '12351515'
barcode = Barby::Code128C.new(barcode_string)
# css => false にして自分でcssを設定。自動で作られるcssには、"width:"が設定されないため表示されない。
# PNG OUTPUT
barcode.to_image(:height => 15, :margin => 5).to_data_url
end
<img src="<%= "#{barcode_output}" %>">
SVGにしてHTMLに
モバイルなどでretinaの場合画質がよくない
require 'barby'
require 'barby/barcode/code_128'
require 'barby/outputter/svg_outputter'
def barcode_output
barcode_string = '12351515'
barcode = Barby::Code128C.new(barcode_string)
# css => false にして自分でcssを設定。自動で作られるcssには、"width:"が設定されないため表示されない。
# PNG OUTPUT
Base64.encode64(barcode.to_svg(:height => 30, :width => 300))
end
<img src="data:image/svg+xml;base64,<%= "#{barcode_output}" %>">