usps_intelligent_barcode is a pure ruby gem to generate a USPS IMB (Intelligent Mail Barcode). More specifically, it generates the string of characters you should print using one of the USPS Intelligent Barcode fonts.
This project was forked from Ryan Taylor's https://github.com/rtlong/USPS-intelligent-barcode Long, in order to add tests and refactor. It is not a drop-in replacement: I renamed most methods and classes, and eliminated the #draw method.
$ gem install USPS-intelligent-barcode
#!/usr/bin/env ruby
require 'rubygems'
require 'usps_intelligent_barcode'
barcode_id = '01'
service_type = '234'
mailer_id = '567094'
serial_number = '987654321'
routing_code = '01234567891'
barcode = Imb::Barcode.new(barcode_id,
service_type,
mailer_id,
serial_number,
routing_code)
p barcode.barcode_letters
# => "AADTFFDFTDADTAADAATFDTDDAAADDTDTTDAFADADDDTFFFDDTTTADFAAADFTDAADA"
This gem is based upon standard USPS-B-3200H, which is linked to from Intelligent Mail Barcode for Mailpieces
These Ruby versions are supported (these are the rvm platform names):
- jruby-1.7
- ruby-1.9.3
- ruby-2.0
- ruby-2.1
- ruby-2.2
- ruby-2.3
For ruby-1.8.7 please see the deprecated USPS-intelligent-barcode gem.
Wayne Conrad [email protected]
This library uses Semantic Versioning. It promises not to make breaking changes to its API without bumping the major version.
Thanks to Ryan Taylor Long for his original work, without which I would have been lost in the USPS specification.