io-barcode is a simple way to create different types of barcodes on server or client.
This started as a fork of the Johan Lindell's JsBarcode project. It adds the following functionality:
- Isomorphic barcode generation on client and server.
- Node support through
node-canvas
. - Packaged with UMD support on client side.
- Modular design.
- Returns a canvas element.
- Removed direct jQuery integration.
- Custom label support (Instead of the encoded data string).
Demo and examples
Supported barcodes
- CODE128 (B or C)
- EAN (13)
- UPC-A
- CODE39
- ITF (Interleaved 2 of 5)
- ITF14
- Pharmacode
Installation
With npm:
npm install io-barcode
If you are not using Node, browserify, webpack or similar npm-based systems, download the minified UMD bundle for browsers only.
Usage
ioBarcode.TYPE(code, opts)
Create a new barcode. Returns a canvas element.
TYPE
- the type of barcode, can be:- CODE128B
- CODE128C
- EAN
- UPC
- CODE39
- ITF
- ITF14
- Pharmacode
code
- the string to encodeopts
- additional formatting, default options are:
width: 2 height: 100 quite: 10 displayValue: false // Will display the encoded data as a label, or 'customLabel' if not null font: 'monospace' textAlign: 'center' fontSize: 12 fontWeight: 'bold' backgroundColor: '' lineColor: "#000" customLabel:null // Will be displayed if displayValue is set to true
Example on server side:
var fs = var ioBarcode = var canvas = ioBarcode var stream = canvas stream
Example on the client side:
// If using a require system like browserify or webpack just require it var ioBarcode = // If using UMD bundle via a <script> tag, ioBarcode is exposed as a global var canvas = ioBarcode // Render the canvas directly documentbody // Or in an image tag var img = imgsrc = canvas documentbody
Running tests
Run npm test
and visit http://localhost:3000 in your favorite browser.