This repository allows you to generate 1D barcodes in Node. You can find more information on our Barcode Bakery website.
The TypeScript library is under the Creative Commons Attribution-NoDerivatives 4.0 International.
Please consider doing a donation.
Installation
- Run the following command:
$ npm install @barcode-bakery/barcode-nodejs
or
$ yarn add @barcode-bakery/barcode-nodejs
You can follow our developer's guide on our website to learn how to use our library.
Example
1D Barcode
import { BCGDrawing, createSurface, save } from '@barcode-bakery/barcode-nodejs';
import { BCGcode128 } from '@barcode-bakery/barcode-nodejs/1d';
const code = new BCGcode128();
code.setThickness(30);
code.parse('a123');
const drawing = new BCGDrawing(createSurface);
drawing.draw(code);
save(drawing, 'image.png', BCGDrawing.ImageFormat.Png);
Aztec
import { BCGDrawing, BCGLabel, createSurface, save } from '@barcode-bakery/barcode-nodejs';
import { BCGaztec } from '@barcode-bakery/barcode-nodejs/aztec';
const text = 'Aztec';
const label = new BCGLabel();
label.setFont(font);
label.setPosition(BCGLabel.Position.Bottom);
label.setAlignment(BCGLabel.Alignment.Center);
label.setText(text);
const code = new BCGaztec();
code.parse(text);
const drawing = new BCGDrawing(createSurface);
drawing.draw(code);
save(drawing, 'image.png', BCGDrawing.ImageFormat.Png);
Databar Expanded
import { BCGDrawing, BCGLabel, createSurface, save } from '@barcode-bakery/barcode-nodejs';
import { BCGdatabarexpanded } from '@barcode-bakery/barcode-nodejs/databarexpanded';
const text = '01900123456789083103001750';
const label = new BCGLabel();
label.setFont(font);
label.setPosition(BCGLabel.Position.Bottom);
label.setAlignment(BCGLabel.Alignment.Center);
label.setText(text);
const code = new BCGdatabarexpanded();
code.parse(text);
const drawing = new BCGDrawing(createSurface);
drawing.draw(code);
save(drawing, 'image.png', BCGDrawing.ImageFormat.Png);
DataMatrix
import { BCGDrawing, BCGLabel, createSurface, save } from '@barcode-bakery/barcode-nodejs';
import { BCGdatamatrix } from '@barcode-bakery/barcode-nodejs/datamatrix';
const text = 'DataMatrix';
const label = new BCGLabel();
label.setFont(font);
label.setPosition(BCGLabel.Position.Bottom);
label.setAlignment(BCGLabel.Alignment.Center);
label.setText(text);
const code = new BCGdatamatrix();
code.parse(text);
const drawing = new BCGDrawing(createSurface);
drawing.draw(code);
save(drawing, 'image.png', BCGDrawing.ImageFormat.Png);
MaxiCode
import { BCGDrawing, BCGLabel, createSurface, save } from '@barcode-bakery/barcode-nodejs';
import { BCGmaxicode } from '@barcode-bakery/barcode-nodejs/maxicode';
const text = 'MaxiCode';
const label = new BCGLabel();
label.setFont(font);
label.setPosition(BCGLabel.Position.Bottom);
label.setAlignment(BCGLabel.Alignment.Center);
label.setText(text);
const code = new BCGmaxicode();
code.parse(text);
const drawing = new BCGDrawing(createSurface);
drawing.draw(code);
save(drawing, 'image.png', BCGDrawing.ImageFormat.Png);
PDF417
import { BCGDrawing, BCGLabel, createSurface, save } from '@barcode-bakery/barcode-nodejs';
import { BCGpdf417 } from '@barcode-bakery/barcode-nodejs/pdf417';
const text = 'PDF417';
const label = new BCGLabel();
label.setFont(font);
label.setPosition(BCGLabel.Position.Bottom);
label.setAlignment(BCGLabel.Alignment.Center);
label.setText(text);
const code = new BCGpdf417();
code.parse(text);
const drawing = new BCGDrawing(createSurface);
drawing.draw(code);
save(drawing, 'image.png', BCGDrawing.ImageFormat.Png);
QRCode
import { BCGDrawing, BCGLabel, createSurface, save } from '@barcode-bakery/barcode-nodejs';
import { BCGqrcode } from '@barcode-bakery/barcode-nodejs/qrcode';
const text = 'QRCode';
const label = new BCGLabel();
label.setFont(font);
label.setPosition(BCGLabel.Position.Bottom);
label.setAlignment(BCGLabel.Alignment.Center);
label.setText(text);
const code = new BCGqrcode();
code.addLabel(label);
code.parse(text);
const drawing = new BCGDrawing(createSurface);
drawing.draw(code);
save(drawing, 'image.png', BCGDrawing.ImageFormat.Png);
Save to Stream
import { BCGDrawing, createSurface, toBuffer } from '@barcode-bakery/barcode-nodejs';
import { BCGcode128 } from '@barcode-bakery/barcode-nodejs/1d';
const code = new BCGcode128();
code.setThickness(30);
code.parse('a123');
const drawing = new BCGDrawing(createSurface);
drawing.draw(code);
createServer(function (request, response) {
toBuffer(drawing, BCGDrawing.ImageFormat.Png, function (err: Error | null, buffer: Buffer) {
response.writeHead(200, { 'Content-Type': 'image/png' });
response.end(buffer);
});
}).listen(8124);
Supported types
1D
2D