house9

random code and what not

Generating barcodes with ruby and rails

Recently I had to convert some functionality from an old MS Access system to a Ruby on Rails application. The Access system generated a report that included a barcode; they were using a barcode font installed on the machine running access. I figured generating the barcode server side in the web app was going to be much nicer than installing barcode fonts on the client browsers. And since this is Ruby, I figured…
There must be a gem for that 
Sure enough, the barby gem. It allows you to output your barcode as png, gif, svg, pdf, etc…

In my case I generated png barcodes and included image references to those in my view files.

Sample code




There is no pixel setting, it uses some other type of unit to determine size; using the xdim, margin and height options you can tweak the size, but I found that it was not very precise - for my use case it was good enough.

The generated barcode does not include the value, it is just the image which can be scanned using a barcode scanner, but it would be nice if there was an option to include the value below that. This is somewhat trivial to add in your view using html.

Overall I was really pleased with this gem!

Resources

Comments

House 9
As far as i know the gem does not support that feature. You need to add that text to your pdf, html, etc… Might want to check the google groups link above for additional help
Icaro
Perfect, thanks. How can i display the value at the bottom of the same image?
House 9
Try setting your path to "#{Rails.root}/public/barcodes"
Icaro
Im getting
No such file or directory - /public/barcodes/barcode_BARBY.png

Is there anyway to not to create the png and then display it from public resources? like streaming each time i call a coupon for instance?.

Thanks