Skip to content

Library to process json template for thermal printers coupons

License

Notifications You must be signed in to change notification settings

grandchef/escpos-template

Repository files navigation

TypeScript version Node.js version MIT Build Status

ESC/POS Template Processing Library

Library to process json template for thermal printers coupons.

Install

Run command bellow on your project folder

yarn add escpos-template

or

npm install escpos-template

Basic example

const { Printer, Model, InMemory, Image } = require('escpos-buffer')
const { ObjectProcessor } = require('escpos-template')
const { ImageManager } = require('escpos-buffer-image')
const path = require('path')

const connection = new InMemory()
const printer = await Printer.CONNECT(new Model('MP-4200 TH'), connection)

const template = [
  { items: 'coupon.title', align: 'center', style: 'bold+', width: '2x' },
  '',
  { items: 'Qrcode', align: 'right' },
  { type: 'qrcode', data: 'https://github.com/grandchef/escpos-template', align: 'right' },
  '',
  { items: 'picture.title', align: 'center', height: '2x' },
  { type: 'image', data: 'picture.image', align: 'center' },
  { whitespace: '=' }
]

const imageManager = new ImageManager()
const imageData = await imageManager.loadImage(
  path.join(__dirname, 'sample.png'),
)
const image = new Image(imageData)

const data = {
  coupon: {
    title: 'Coupon Title'
  },
  picture: {
    title: 'Picture Title',
    image
  }
}

const coupon = new ObjectProcessor(data, printer, template)
await coupon.print()

await printer.feed(2)
await printer.buzzer()
await printer.cutter()
process.stdout.write(connection.buffer())

// to print, run command bellow on terminal
//> node examples/basic.js | lp -d MyCupsPrinterName

Available scripts

  • clean - remove coverage data, Jest cache and transpiled files,
  • build - transpile TypeScript to ES6,
  • build:watch - interactive watch mode to automatically transpile source files,
  • lint - lint source files and tests,
  • test - run tests,
  • test:watch - interactive watch mode to automatically re-run tests
  • test:debug - run tests debugging

License

Licensed under the MIT. See the LICENSE file for details.

About

Library to process json template for thermal printers coupons

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •