thermal-printer-cordova-plugin
Version:
Cordova wrapper for ESC/POS Thermal Printer library
139 lines (105 loc) • 7.58 kB
Markdown
## Cordova Plugin for Thermal Printer's
[](https://www.npmjs.com/package/thermal-printer-cordova-plugin) [](https://www.npmjs.com/package/thermal-printer-cordova-plugin)
---
This plugin is a wrapper for the [Android library for ESC/POS Thermal Printer](https://github.com/DantSu/ESCPOS-ThermalPrinter-Android).
### 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 | <code>Object</code> | Data object |
| data.type | <code>"bluetooth"</code> \| <code>"usb"</code> | Type of list: bluetooth or usb |
| successCallback | <code>function</code> | Result on success |
| errorCallback | <code>function</code> | Result on failure |
<a name="printFormattedText"></a>
### 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 | <code>Array.<Object></code> | Data object |
| data.type | <code>"bluetooth"</code> \| <code>"tcp"</code> \| <code>"usb"</code> | List all bluetooth or usb printers |
| [data.id] | <code>string</code> \| <code>number</code> | ID of printer to find (Bluetooth: address, TCP: Use address + port instead, USB: deviceId) |
| [data.address] | <code>string</code> | If type is "tcp" then the IP Address of the printer |
| [data.port] | <code>number</code> | If type is "tcp" then the Port of the printer |
| [data.mmFeedPaper] | <code>number</code> | Millimeter distance feed paper at the end |
| [data.dotsFeedPaper] | <code>number</code> | Distance feed paper at the end |
| data.text | <code>string</code> | Formatted text to be printed |
| successCallback | <code>function</code> | Result on success |
| errorCallback | <code>function</code> | Result on failure |
<a name="printFormattedTextAndCut"></a>
### 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 | <code>Array.<Object></code> | Data object |
| data.type | <code>"bluetooth"</code> \| <code>"tcp"</code> \| <code>"usb"</code> | List all bluetooth or usb printers |
| [data.id] | <code>string</code> \| <code>number</code> | ID of printer to find (Bluetooth: address, TCP: Use address + port instead, USB: deviceId) |
| [data.address] | <code>string</code> | If type is "tcp" then the IP Address of the printer |
| [data.port] | <code>number</code> | If type is "tcp" then the Port of the printer |
| [data.mmFeedPaper] | <code>number</code> | Millimeter distance feed paper at the end |
| [data.dotsFeedPaper] | <code>number</code> | Distance feed paper at the end |
| data.text | <code>string</code> | Formatted text to be printed |
| successCallback | <code>function</code> | Result on success |
| errorCallback | <code>function</code> | Result on failure |
<a name="getEncoding"></a>
### getEncoding(data, successCallback, errorCallback)
Get the printer encoding when available
| Param | Type | Description |
| --- | --- | --- |
| data | <code>Array.<Object></code> | Data object |
| data.type | <code>"bluetooth"</code> \| <code>"tcp"</code> \| <code>"usb"</code> | List all bluetooth or usb printers |
| [data.id] | <code>string</code> \| <code>number</code> | ID of printer to find (Bluetooth: address, TCP: Use address + port instead, USB: deviceId) |
| [data.address] | <code>string</code> | If type is "tcp" then the IP Address of the printer |
| [data.port] | <code>number</code> | If type is "tcp" then the Port of the printer |
| successCallback | <code>function</code> | Result on success |
| errorCallback | <code>function</code> | Result on failure |
<a name="disconnectPrinter"></a>
### disconnectPrinter(data, successCallback, errorCallback)
Close the connection with the printer
| Param | Type | Description |
| --- | --- | --- |
| data | <code>Array.<Object></code> | Data object |
| data.type | <code>"bluetooth"</code> \| <code>"tcp"</code> \| <code>"usb"</code> | List all bluetooth or usb printers |
| [data.id] | <code>string</code> \| <code>number</code> | ID of printer to find (Bluetooth: address, TCP: Use address + port instead, USB: deviceId) |
| [data.address] | <code>string</code> | If type is "tcp" then the IP Address of the printer |
| [data.port] | <code>number</code> | If type is "tcp" then the Port of the printer |
| successCallback | <code>function</code> | Result on success |
| errorCallback | <code>function</code> | Result on failure |
<a name="requestPermissions"></a>
### requestPermissions(data, successCallback, errorCallback)
Request permissions for USB printers
| Param | Type | Description |
| --- | --- | --- |
| data | <code>Array.<Object></code> | Data object |
| data.type | <code>"bluetooth"</code> \| <code>"tcp"</code> \| <code>"usb"</code> | List all bluetooth or usb printers |
| [data.id] | <code>string</code> \| <code>number</code> | ID of printer to find (Bluetooth: address, TCP: Use address + port instead, USB: deviceId) |
| [data.address] | <code>string</code> | If type is "tcp" then the IP Address of the printer |
| [data.port] | <code>number</code> | If type is "tcp" then the Port of the printer |
| successCallback | <code>function</code> | Result on success |
| errorCallback | <code>function</code> | Result on failure |
<a name="bitmapToHexadecimalString"></a>
### bitmapToHexadecimalString(data, successCallback, errorCallback)
Convert Drawable instance to a hexadecimal string of the image data
| Param | Type | Description |
| --- | --- | --- |
| data | <code>Array.<Object></code> | Data object |
| data.type | <code>"bluetooth"</code> \| <code>"tcp"</code> \| <code>"usb"</code> | List all bluetooth or usb printers |
| [data.id] | <code>string</code> \| <code>number</code> | ID of printer to find (Bluetooth: address, TCP: Use address + port instead, USB: deviceId) |
| [data.address] | <code>string</code> | If type is "tcp" then the IP Address of the printer |
| [data.port] | <code>number</code> | If type is "tcp" then the Port of the printer |
| data.base64 | <code>string</code> | Base64 encoded picture string to convert |
| successCallback | <code>function</code> | Result on success |
| errorCallback | <code>function</code> | Result on failure |