Library to process json template for thermal printers coupons.
Run command bellow on your project folder
yarn add escpos-template
or
npm install escpos-template
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
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 teststest:debug
- run tests debugging
Licensed under the MIT. See the LICENSE file for details.