@barcode-bakery/barcode-nodejs

1.0.0 • Public • Published

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';

// Label, this part is optional
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';

// Label, this part is optional
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';

// Label, this part is optional
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';

// Label, this part is optional
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';

// Label, this part is optional
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';

// Label, this part is optional
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) {
    // Do something with the buffer. Here we send it to a response.
    response.writeHead(200, { 'Content-Type': 'image/png' });
    response.end(buffer);
  });
}).listen(8124);

Supported types

1D

2D

Readme

Keywords

none

Package Sidebar

Install

npm i @barcode-bakery/barcode-nodejs

Weekly Downloads

16

Version

1.0.0

License

CC-BY-ND-4.0

Unpacked Size

53.3 kB

Total Files

19

Last publish

Collaborators

  • jsgoupil