escpos-buffer-web
v1.7.2
Published
Library to generate buffer for thermal printers.
Downloads
963
Readme
This is fork of (escpos-buffer)[https://github.com/grandchef/escpos-buffer]. Point of this for is to remove dependency on node-js's
fs
lib, so it can be used also in a browser.
ESC/POS Printer Library
Library to generate buffer for thermal printers.
Install
Run command bellow on your project folder
yarn add escpos-buffer-web
or
npm install escpos-buffer-web
Basic example
const { Printer, Style, Align, Drawer, Model, InMemory } = require('escpos-buffer')
const model = new Model('MP-4200 TH')
const connection = new InMemory()
const printer = new Printer(model, connection)
printer.columns = 56
printer.writeln(' Some fancy title ', Style.DoubleHeight | Style.Inverted)
printer.write('Simple Text *** ')
printer.writeln('Bold Text -> complete line text.[]123456', Style.Bold)
printer.writeln('Double height', Style.DoubleHeight | Style.Bold, Align.Center)
printer.writeln('Áçênts R$ 5,00', Style.DoubleWidth | Style.DoubleWidth, Align.Center)
printer.writelnJustify('1x Pizza', '$ 20,00', Style.Bold);
printer.drawLine();
printer.withStyle({
width: 4,
height: 6,
bold: true,
italic: true,
underline: true,
align: Align.Center,
}, () => {
printer.writeln('You can apply multiple styles at once using withStyle()')
printer.writeln('Font sizes 1-8 are available')
})
printer.writeln('Default style is restored afterwards')
printer.feed(6)
printer.buzzer()
printer.cutter()
printer.drawer(Drawer.First)
process.stdout.write(connection.buffer())
// to print, run command bellow on terminal
//> node examples/basic.js | lp -d MyCupsPrinterName
Usage in the browser
You can also use the new WebUSB protocol in Chrome to connect directly to the printer.
import { Printer, Model, WebUSB } from 'escpos-buffer'
const device = await navigator.usb.requestDevice({
filters: [{
vendorId: VENDOR_ID
}]
})
const model = new Model('TM-T20')
const connection = new WebUSB(device)
await connection.open()
const printer = new Printer(model, connection)
// ...
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,style:fix
- fix prettier style problems,style:check
- check for prettier style,test
- run tests,test:watch
- interactive watch mode to automatically re-run teststest:debug
- run tests debugging
License
Licensed under the MIT. See the LICENSE file for details.