thermal-printer-cordova-plugin

Cordova wrapper for ESC/POS Thermal Printer library

Usage no npm install needed!

<script type="module">
  import thermalPrinterCordovaPlugin from 'https://cdn.skypack.dev/thermal-printer-cordova-plugin';
</script>

README

Cordova Plugin for Thermal Printer's

npm version npm downloads


This plugin is a wrapper for the Android library for ESC/POS Thermal Printer.

Install

Cordova

$ cordova plugin add thermal-printer-cordova-plugin

Ionic

$ ionic cordova plugin add thermal-printer-cordova-plugin

Capacitor

$ npm install thermal-printer-cordova-plugin
$ npx cap sync

Don't forget to add BLUETOOTH and INTERNET (for TCP) permissions and for USB printers the android.hardware.usb.host feature to the AndroidManifest.xml.

<uses-feature android:name="android.hardware.usb.host" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.INTERNET" />

listPrinters(data, successCallback, errorCallback)

List available printers

Param Type Description
data Object Data object
data.type "bluetooth" | "usb" Type of list: bluetooth or usb
successCallback function Result on success
errorCallback function Result on failure

printFormattedText(data, successCallback, errorCallback)

Print a formatted text and feed paper

See: https://github.com/DantSu/ESCPOS-ThermalPrinter-Android#formatted-text--syntax-guide

Param Type Description
data Array.<Object> Data object
data.type "bluetooth" | "tcp" | "usb" List all bluetooth or usb printers
[data.id] string | number ID of printer to find (Bluetooth: address, TCP: Use address + port instead, USB: deviceId)
[data.address] string If type is "tcp" then the IP Address of the printer
[data.port] number If type is "tcp" then the Port of the printer
[data.mmFeedPaper] number Millimeter distance feed paper at the end
[data.dotsFeedPaper] number Distance feed paper at the end
data.text string Formatted text to be printed
successCallback function Result on success
errorCallback function Result on failure

printFormattedTextAndCut(data, successCallback, errorCallback)

Print a formatted text, feed paper and cut the paper

See: https://github.com/DantSu/ESCPOS-ThermalPrinter-Android#formatted-text--syntax-guide

Param Type Description
data Array.<Object> Data object
data.type "bluetooth" | "tcp" | "usb" List all bluetooth or usb printers
[data.id] string | number ID of printer to find (Bluetooth: address, TCP: Use address + port instead, USB: deviceId)
[data.address] string If type is "tcp" then the IP Address of the printer
[data.port] number If type is "tcp" then the Port of the printer
[data.mmFeedPaper] number Millimeter distance feed paper at the end
[data.dotsFeedPaper] number Distance feed paper at the end
data.text string Formatted text to be printed
successCallback function Result on success
errorCallback function Result on failure

getEncoding(data, successCallback, errorCallback)

Get the printer encoding when available

Param Type Description
data Array.<Object> Data object
data.type "bluetooth" | "tcp" | "usb" List all bluetooth or usb printers
[data.id] string | number ID of printer to find (Bluetooth: address, TCP: Use address + port instead, USB: deviceId)
[data.address] string If type is "tcp" then the IP Address of the printer
[data.port] number If type is "tcp" then the Port of the printer
successCallback function Result on success
errorCallback function Result on failure

disconnectPrinter(data, successCallback, errorCallback)

Close the connection with the printer

Param Type Description
data Array.<Object> Data object
data.type "bluetooth" | "tcp" | "usb" List all bluetooth or usb printers
[data.id] string | number ID of printer to find (Bluetooth: address, TCP: Use address + port instead, USB: deviceId)
[data.address] string If type is "tcp" then the IP Address of the printer
[data.port] number If type is "tcp" then the Port of the printer
successCallback function Result on success
errorCallback function Result on failure

requestPermissions(data, successCallback, errorCallback)

Request permissions for USB printers

Param Type Description
data Array.<Object> Data object
data.type "bluetooth" | "tcp" | "usb" List all bluetooth or usb printers
[data.id] string | number ID of printer to find (Bluetooth: address, TCP: Use address + port instead, USB: deviceId)
[data.address] string If type is "tcp" then the IP Address of the printer
[data.port] number If type is "tcp" then the Port of the printer
successCallback function Result on success
errorCallback function Result on failure

bitmapToHexadecimalString(data, successCallback, errorCallback)

Convert Drawable instance to a hexadecimal string of the image data

Param Type Description
data Array.<Object> Data object
data.type "bluetooth" | "tcp" | "usb" List all bluetooth or usb printers
[data.id] string | number ID of printer to find (Bluetooth: address, TCP: Use address + port instead, USB: deviceId)
[data.address] string If type is "tcp" then the IP Address of the printer
[data.port] number If type is "tcp" then the Port of the printer
data.base64 string Base64 encoded picture string to convert
successCallback function Result on success
errorCallback function Result on failure