Skip to content

grandchef/escpos-buffer-image

Repository files navigation

Latest Version Build Status TypeScript version Node.js version MIT

escpos-buffer-image

Library to provide image support for escpos-buffer

Supported image types:

  • JPEG
  • PNG
  • WebP

Install

Run command bellow on your project folder

yarn add escpos-buffer escpos-buffer-image

or

npm install escpos-buffer escpos-buffer-image

Setup

Node

const { Printer, InMemory } = require('escpos-buffer');
const { ImageManager } = require('escpos-buffer-image');

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

Browser

Use the WebUSB protocol in Chrome to connect directly to the printer.

import { Printer, Model, WebUSB } from 'escpos-buffer';
import { ImageManager } from 'escpos-buffer-image';

const device = await navigator.usb.requestDevice({
  filters: [
    {
      vendorId: VENDOR_ID,
    },
  ],
});
const connection = new WebUSB(device);
const imageManager = new ImageManager();
const printer = await Printer.CONNECT('TM-T20', connection, imageManager);

Usage

const { Image } = require('escpos-buffer');

// Following setup above...
await printer.setColumns(48);
const imageData = await imageManager.loadImage('IMAGE PATH');
const image = new Image(imageData);
await printer.draw(image);
if (feed > 0) {
  await printer.feed(feed);
}
await printer.cutter();
await printer.buzzer();
await printer.drawer(Drawer.First);

// For buffered connection (output to stdout)
process.stdout.write(connection.buffer());

// to print, run command bellow on terminal

// For Unix
//> node examples/image.js | lp -d PRINTER_NAME

// For Windows
//> node examples\image.js > output.bin
//> print /d:\\%COMPUTERNAME%\PRINTER_NAME output.bin

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 tests
  • test:debug - run tests debugging

License

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