cordova-plugin-datecs-printer
The first thing that you must know is that the plugin is available through this variable window.DatecsPrinter
.
As well as any other plugin it will only be available after deviceready
event is fired
So, there's a lot of functions that you can call to execute each operation and perform the printer actions, these are the most important ones (you can see all on printer.js file):
(every function accept at least two parameters, and they're the last ones: onSuccess function and onError function)
- listBluetoothDevices(): will give you a list of all the already previously paired bluetooth devices
- connect(address): this will establish the bluetooth connection with the selected printer (you need pass the address
attribute
of the selected device) - feedPaper(lines): this will "print" blank lines
- printText(text, charset): will print the text respecting tags definition (charset encoding is ISO-8859-1 by default)
- printImage(base64, width, height, alignment): will print the image, the expected parameters are:
- 1- Base64 image
- 2- Printing box's width (it does not resize the image)
- 3- Printing box's height (it does not resize the image)
- 4- Alignment code (you can find the codes here)
- printBarcode(barcodeType, barcodeData): this will print a barcode accordingly to the given type and data (you can find the barcode types code here)
Reported Working Printer Models
These models were reported as working as expected:
(if you notice another model please let us know by opening a issue and reporting)
- DATECS DPP 250
- DATECS DPP 350
- DATECS DPP 450
- EPSON TM P80
- Bixolon SPP-R210
- MPT-3 (JP Printer)
- MPT-III (LEOPARDO A7)
- MPT-II (58mm)
- DAPPER DP-HT201 58mm
- RG-MTP80B
- Black Copper MINI Thermal Printer BC-P58B
Example
windowDatecsPrinter; { windowDatecsPrinter;} { var image = ; imagesrc = 'img/some_image.jpg'; image { var canvas = document; canvasheight = 100; canvaswidth = 100; var context = canvas; context; var imageData = canvas; //remove mimetype windowDatecsPrinter };} { windowDatecsPrinter;}
Tags definition
{reset}
Reset to default settings.{br}
Line break. Equivalent of new line.{b}, {/b}
Set or clear bold font style.{u}, {/u}
Set or clear underline font style.{i}, {/i}
Set or clear italic font style.{s}, {/s}
Set or clear small font style.{h}, {/h}
Set or clear high font style.{w}, {/w}
Set or clear wide font style.{left}
Aligns text to the left paper edge.{center}
Aligns text to the center of paper.{right}
Aligns text to the right paper edge.
Alignment Codes
- CENTER = 1
- LEFT = 0
- RIGHT = 2
Barcode Type Codes
- UPC-A = 65
- UPC-E = 66
- EAN13 (JAN13) = 67
- EAN 8 (JAN8) = 68
- CODE 39 = 69
- ITF = 70
- CODABAR (NW-7) = 71
- CODE 93 = 72
- CODE 128 = 73
- PDF417 = 74
- CODE 128 Auto = 75
- EAN 128 = 76
Barcode HRI Position Codes
- NONE = 0
- ABOVE = 1
- BELOW = 2
- BOTH = 3
ConnectionStatus Event
To listen about the connection status this is the way you should go:
You should use this plugin to receive the broadcasts cordova plugin add cordova-plugin-broadcaster
windowbroadcaster;
Angular / Ionic
If your intention is to use it with Angular or Ionic, you may take a look at this simple example: https://github.com/giorgiofellipe/cordova-plugin-datecsprinter-example. There's a ready to use angular service implementation.