react-native-esc-pos-xprinter

This is an android xprinter driver.

Usage no npm install needed!

<script type="module">
  import reactNativeEscPosXprinter from 'https://cdn.skypack.dev/react-native-esc-pos-xprinter';
</script>

README

react-native-esc-pos-xprinter

This is an Android Xprinter SDK driver.

Installation

npm install react-native-esc-pos-xprinter

or

yarn add react-native-esc-pos-xprinter

Usage

import RNXprinter from "react-native-esc-pos-xprinter";

// Select a printer to use
const printerList = await RNXprinter.getDeviceList();
await RNXprinter.connectPrinter(printerList[0].address);

Print text

After you connected to your printer, try this to make sure everything except yourself is worked perfectly.

// Push Text
// text: string            # The string you want to print
// size: number            # 0 ~ 7 Level
RNXprinter.pushText("Hello World!!!", 0);

// Push Cut Paper
RNXprinter.pushCutPaper();

Print image from buffer

Thermal printer is a kind of high speed printer, so we need push all things to the buffer first. To add the image to the printer use: Printer TEST V3.0C

// Push Image
// size: index             # The FLASH index of image
// Currently only supported without download image, you need use your computer to help
RNXprinter.pushFlashImage(0);

// Push Cut Paper
RNXprinter.pushCutPaper();

Print image in base64

After connecting to your printer, send your image in base64 format and add a size.

const base64Image = "iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3..........."
// Push Image
// size: size image
RNXprinter.pushImage(base64Image, 200);

// Push Cut Paper
RNXprinter.pushCutPaper();

Disconnect printer

After connecting to your printer, you can disconnect the printer if it is not in use.

// Disconnect printer
await RNXprinter.disconnectPrinter();

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

Roadmap

  • Android support
  • Save default printer
  • Test coverage
  • Printer select panel
  • Download image to printer
  • Bluetooth support
  • USB support

License

MIT