UNPKG

cordova-plugin-bixolon-printer

Version:
292 lines (235 loc) 8.32 kB
BixolonPrint Cordova Plugin ============== ## Note to Bringg Developers This is fork of https://github.com/xyzxyz442/cordova-plugin-bixolon-print - with bug fix. Cross-platform BixolonPrint Plugin for Cordova / PhoneGap. Forked from [alfonsovinti](https://github.com/alfonsovinti/cordova-plugin-bixolon-print.git) Adding support for QRCode, 1D BarCode, MSR Reader listener, Connection listener ### Supported Platforms - Android (Using Bixolon SDK v2.2.9) - iOS (All new features still under development) ## Installation Below are the methods for installing this plugin automatically using command line tools. ### Using the Cordova CLI ``` $ cordova plugin add cordova-plugin-bixolon-printer ``` ## Plugin Options ```javascript cordova.plugins.bixolonPrint.settings = { lineFeed: 3, formFeed: false, // enable\disable jump to next position, in black marker and label modes autoConnect: true, // Android only: if this is set to false displays a dialog box for selecting the printer toastMessage: true, // Android only: show a printer message separator: '=', codePage: cordova.plugins.bixolonPrint.CodePage.CP_1252_LATIN1 // define code page, default value is set to CP_1252_LATIN1. }; ``` ## Available Code Page CP_437_USA : 0, CP_KATAKANA : 1, CP_850_MULTILINGUAL : 2, CP_860_PORTUGUESE : 3, CP_863_CANADIAN_FRENCH : 4, CP_865_NORDIC : 5, CP_1252_LATIN1 : 16, CP_866_CYRILLIC2 : 17, CP_852_LATIN2 : 18, CP_858_EURO : 19, CP_862_HEBREW_DOS_CODE : 21, // Android only CP_864_ARABIC : 22, CP_THAI42 : 23, CP_1253_GREEK : 24, CP_1254_TURKISH : 25, CP_1257_BALTIC : 26, CP_FARSI : 27, CP_1251_CYRILLIC : 28, CP_737_GREEK : 29, CP_775_BALTIC : 30, CP_THAI14 : 31, CP_1255_HEBREW_NEW_CODE : 33, CP_THAI11 : 34, // Android only CP_THAI18 : 35, // Android only CP_855_CYRILLIC : 36, CP_857_TURKISH : 37, CP_928_GREEK : 38, CP_THAI16 : 39, CP_1256_ARABIC : 40, CP_1258_VIETNAM : 41, // Android only CP_KHMER_CAMBODIA : 42, // Android only CP_1250_CZECH : 43 // Android only ## Available BarCode System UPC_A: 65 UPC_E: 66 EAN13: 67 EAN8: 68, CODE39: 69 ITF: 70 CODABAR: 71 CODE93: 72 CODE128: 73 ## Available QRCode Model MODEL_1: 49 MODEL_2: 50 ## Using the plugin The plugin creates the object `cordova/plugin/BixolonPrint` with following methods: ### Add line to print ```javascript cordova.plugins.bixolonPrint.addLine({ text : String, // text to print textAlign : String, // text align, default left textWidth : int, // text width, default 0 textHeight : int, // text height, default 0 fontType : String, // font type, A or B fontStyle : String // font style, bold or underlined or reversed }); ``` ### Add line separator ```javascript cordova.plugins.bixolonPrint.addHr(separator String); ``` ### Print text lines ```javascript cordova.plugins.bixolonPrint.printText(successCallback, errorCallback, config Object); ``` ### Cut paper ```javascript cordova.plugins.bixolonPrint.cutPaper(successCallback, errorCallback, config Object); ``` ### Get printer status ```javascript cordova.plugins.bixolonPrint.getStatus(successCallback, errorCallback, printStatus Boolean); ``` ### Print Barcode ```javascript var data = { text : String, // text to print alignment : String, // text align, default left (left, center, right) width : int, // 1 - 6 height : int, // barcodeSystem : int, // see "cordova.plugins.bixolonPrint.BarCodeSystem" characterPosition : int // see "cordova.plugins.bixolonPrint.BarCodeCharacterPosition" }; cordova.plugins.bixolonPrint.printBarCode(data, successCallback, errorCallback, printStatus Boolean); ``` ### QRCode ```javascript var data = { text : String, // text to print alignment : String, // text align, default left (left, center, right) size : int, // text width, 1 - 8 model : int, // see "cordova.plugins.bixolonPrint.QRCodeModel" }; cordova.plugins.bixolonPrint.printQRCode(data, successCallback, errorCallback, printStatus Boolean); ``` ### Connection Listener ```javascript // Start connection listener cordova.plugins.bixolonPrint.startConnectionListener(connectionCallback, errorCallback); // Stop connection listener cordova.plugins.bixolonPrint.stopConnectionListener(successCallback, errorCallback); cordova.plugins.bixolonPrint.reconnect(successCallback, errorCallback); cordova.plugins.bixolonPrint.disconnect(successCallback, errorCallback); ``` ### MSR Reader Listener ```javascript // Start MSR Reader listener cordova.plugins.bixolonPrint.startMsrReaderListener(connectionCallback, errorCallback); // Stop MSR Reader listener cordova.plugins.bixolonPrint.stopMsrReaderListener(successCallback, errorCallback); ``` ## Examples ### Print a text ```javascript cordova.plugins.bixolonPrint.addLine("hello cordova!\r\n"); cordova.plugins.bixolonPrint.printText(); ``` ### Print a custom text ```javascript // compose text cordova.plugins.bixolonPrint.addLine({ text: "hello cordova!\r\n", textAlign: cordova.plugins.bixolonPrint.TextAlign.CENTER, fontStyle: cordova.plugins.bixolonPrint.FontStyle.BOLD }); cordova.plugins.bixolonPrint.addHr(); cordova.plugins.bixolonPrint.addLine("#@*èòçìàé€"); // finally print cordova.plugins.bixolonPrint.printText( function (response) { alert("print success!") }, function (error) { alert("print failure: " + error) }, { codePage: cordova.plugins.bixolonPrint.CodePage.CP_1252_LATIN1 } ); ``` ### Print Barcode ```javascript cordova.plugins.bixolonPrint.printBarCode({ text: value, alignment: 'left', // left, center, right width: 2, // 1 - 6, height: 150, barcodeSystem: cordova.plugins.bixolonPrint.BarCodeSystem.CODE128, characterPosition: cordova.plugins.bixolonPrint.BarCodeCharacterPosition.BELOW_BAR_CODE }, function(response) { alert("print success!") }, function(error) { alert("print failure: " + error) }, { codePage: cordova.plugins.bixolonPrint.CodePage.CP_THAI11 }); ``` ### Print QRCode ```javascript cordova.plugins.bixolonPrint.printQRCode({ text: value, alignment: 'center', // left, center, right size: 4, // 1 - 8, model: cordova.plugins.bixolonPrint.QRCodeModel.MODEL_2 }, function(response) { alert("print success!") }, function(error) { alert("print failure: " + error) }, { codePage: cordova.plugins.bixolonPrint.CodePage.CP_THAI11 }); ``` ### Start/Stop MSR Reader Listener ```javascript var msrReaderRead = function(response) { // inside response contains keys [msrTrack1, msrTrack2, msrTrack3] } // printer must connected. to reconnect use this cordova.plugins.bixolonPrint.reconnect(); cordova.plugins.bixolonPrint.startMsrReaderListener( msrReaderRead, function(error) { alert("MSR reader listener error: " + error) } ); cordova.plugins.bixolonPrint.stopMsrReaderListener(); ``` ### Start/Stop Connection Listener ```javascript var connectionMessageReceived = function(response) { // inside response contains keys [message, isConnected] } cordova.plugins.bixolonPrint.startConnectionListener( connectionMessageReceived, function(error) { alert("Connection listener error: " + error.message); } ); cordova.plugins.bixolonPrint.stopConnectionListener(); ``` ### Reconnect/Disconnect manually ```javascript // to reconnect cordova.plugins.bixolonPrint.reconnect(); // to disconnect cordova.plugins.bixolonPrint.disconnect(); ```