This library allows you to print with thermal printers compatible with the ESC POS language in 4 different communication channels (USB, Bluetooth SPP, BLE, LAN)
you can download the ble3 library from here
The DEMO version prints one minute every 2. The full version of the library will be issued to those making a donation (Contact me in private before making a donation)
WARNING: Make sure the library meets all your needs, is compatible with the printer you need to use.
For ESC/POS B4J version see Here
For ESC/POS B4i version see Here
For ZEBRA printer see Here
To print a PDF with ESC/POS see
SD_EscPosPrinter
Author: Star-Dust
Version: 1.08
log release
you can download the ble3 library from here
The DEMO version prints one minute every 2. The full version of the library will be issued to those making a donation (Contact me in private before making a donation)
WARNING: Make sure the library meets all your needs, is compatible with the printer you need to use.
For ESC/POS B4J version see Here
For ESC/POS B4i version see Here
For ZEBRA printer see Here
Those who want a different version, such as LAN, USB, NFC please contact me privately.
OS | Bluetooth SPP | BLE (Beacon) | USB | LAN / WIFI | RS 232 | NFC |
Android | x | x | x | x | ||
iOs | x | x (on request) | ||||
Window | x | x (on request) | x (on request) |
To print a PDF with ESC/POS see
[B4X] [B4Xpages] PDF to Image (B4XBitmap)
I often needed to turn a PDF into an image, most of the time to have it printed on a thermal printer. I was looking for simple and cross-platform methods. This is an example that allows you to get an image with Windows / Android / iOs from a PDF file NB. For Windows it is necessary to...
www.b4x.com
SD_EscPosPrinter
Author: Star-Dust
Version: 1.08
- BLE_Printer
- Events:
- BLEoff
- Connected (services As List)
- Disconnected
- ImageWriteComplete
- PrinterFound (Name As String, ID As String)
- StateChanged (msg As String)
- WriteComplete (Characteristic As String, Success As Boolean)
- Fields:
- CharatteristicName As String
- Charset As String
- currentState As Int
- ServiceName As String
- Functions:
- AddTab (ArrayTab As Int()) As String
Add Tab
eg. PrinterBLE.AddTab(Array As Byte(100,150,121)) - Beep (Times As Byte, SecondsDurate As Byte) As String
.Printer.Beep(1..9,1..9) - CenterJustify As String
after this command calls SendBufferToPrinter - Class_Globals As String
- Connect (ID As String) As String
- Disconnect As String
- Initialize (CallBack As Object, EventName As String) As String
Initializes the object. You can add parameters to this method if needed. - InitializePrinter As String
- IsInitialized As Boolean
Verifica se l'oggetto sia stato inizializzato. - LeftJustify As String
after this command calls SendBufferToPrinter - PrintBitmap (bmp As Bitmap)
- RightJustify As String
after this command calls SendBufferToPrinter - ScanPrinter As String
- SetCodePage (Code As Byte) As String
es. Printer.SetCodePage(06) for umlauts char - Write (Text As String) As String
Write (Print) a Text - Write_ArrayByte (B As Byte()) As String
Write (Send to Printer) a Array of Byte
eg. PrinterBLE.Write_ArrayByte(Array As Byte(0x1D,150,23))
eg. PrinterBLE.Write_ArrayByte("Text".GetBytes("UTF8")) - WriteBarCode (Code As String) As String
- WriteBarCode2D (Code As String) As String
- WriteLine (Text As String) As String
Write (Print) a Text + CHLF - WriteList (list As List) As String
Write (Print) a List
- AddTab (ArrayTab As Int()) As String
- Properties:
- CodeTable
es. printer.setCodeTable(Encoding.Code_WPC1252)
aftet this command calls SendBufferToPrinter - isConnect As Boolean [read only]
- isScanning As Boolean [read only]
- Spacing
after setSpacing command calls SendBufferToPrinter
- CodeTable
- Events:
- BT_Printer
Note: AddPermission(android.permission.ACCESS_COARSE_LOCATION)- Events:
- BluetoothIsDisabled
- ConnectedToPrint (Success As Boolean)
- DataReceived (Buffer() As Byte)
- DisconnectToPrint (Mac As String)
- DiscoveryComplete (Printers As Map)
- DiscoveryFinished
- DiscoveryNewPrinter (PrintedFound As Map, DeviceClass As Int)
- DiscoveryNoDeviceFound
- ErrorDiscovery
- ListPrinterAssociated (ListNameAndMac As Map)
- SendingError (Mac As String)
- SendTerminated
- Fields:
- Charset As String
- Const_AUDIO_VIDEO As Int
- Const_COMPUTER As Int
- Const_HEALTH As Int
- Const_IMAGING As Int
- Const_MISC As Int
- Const_NETWORKING As Int
- Const_PERIPHERAL As Int
- Const_PHONE As Int
- Const_TOY As Int
- Const_UNCATEGORIZED As Int
- Const_WEARABLE As Int
- Functions:
- AddBuffer_ArrayByte (B As Byte()) As String
- AddBuffer_BarCode (Code As String) As String
- AddBuffer_BarCode2D (Code As String) As String
- AddBuffer_Bitmap (Bmp As Bitmap, ShiftLeft As Int) As String
- AddBuffer_BitmapAlternativeCoding (Bmp As Bitmap) As String
- AddBuffer_List_Write (list As List) As String
- AddBuffer_List_WriteLine (list As List) As String
- AddBuffer_Tab (ArrayTab As Int()) As String
- AddBuffer_Write (Text As String) As String
- AddBuffer_WriteLine (Text As String) As String
- AddPrintDefineImage As String
- Beep (Times As Byte, SecondsDurate As Byte) As String
.Printer.Beep(1..9,1..9) - CenterJustify As String
after this command calls SendBufferToPrinter - Class_Globals As String
- ClearBuffer As String
- Connected As Boolean
- ConnectFromMac (Mac As String) As String
- DefineImage (Image As Bitmap)
- Disconnect As String
- flushAllAndClose
- Initialize (CallBack As Object, EventName As String) As String
Initializes the object. You can add parameters to this method if needed. - InitializePrinter As String
- IsInitialized As Boolean
Verifica se l'oggetto sia stato inizializzato. - LeftJustify As String
after this command calls SendBufferToPrinter - Preview As Bitmap
- ResetPreViewWidth (NewWidth As Int) As String
- RightJustify As String
after this command calls SendBufferToPrinter - SearchFromAssociatedPrinter As String
- SearchNewPrinter As String
select -------------------------------------------- - SendBufferToPrinter
- SetCodePage (Code As Byte) As String
es. Printer.SetCodePage(06) for umlauts char - WriteBarCode (Code As String) As String
send to print immediately, do not preview - Not available in the demo version - WriteBarCode2D (Code As String) As String
send to print immediately, do not preview - Not available in the demo version - WriteBitmap (Bmp As Bitmap) As String
send to print immediately, do not preview - Not available in the demo version - WriteByte (Data As Byte()) As String
send to print immediately, do not preview - Not available in the demo version - WriteText (Text As String) As String
send to print immediately, do not preview - Not available in the demo version
- Properties:
- CodeTable
es. printer.setCodeTable(Encoding.Code_WPC1252)
aftet this command calls SendBufferToPrinter - Spacing
after setSpacing command calls SendBufferToPrinter
- CodeTable
- Events:
- ESC_POS
Code module
Subs in this code module will be accessible from all modules.- Fields:
- BoldOff As String
- BoldOn As String
- cn_PDF417 As String
- cn_QRcode As String
- CutPaper As String
- CutPartialPaper As String
- CutTotalPaper As String
- Demo As Boolean
- DoubleOff As String
- DoubleOn As String
- FontA_Bold As String
- FontA_DoubleHight As String
- FontA_DoubleWide As String
- FontA_DoubleWideHeight As String
- FontA_Normal As String
- FontB_Bold As String
- FontB_DoubleHeight As String
- FontB_DoubleWide As String
- FontB_DoubleWideHeight As String
- FontB_Normal As String
- Horizzontal As String
- InitializePrinter As String
- ItalicFontOff As String
- ItalicFontOn As String
- NoUnderline As String
- QueryErrorCauses As String
- QueryOfflineCauses As String
- QueryPaperStatus As String
- QueryPrinterStatus As String
- Underline1 As String
- Underline2 As String
- Vertical As String
- Functions:
- feed (lines As Int) As String
- Process_Globals As String
- Fields:
- Encoding
Code module
Subs in this code module will be accessible from all modules.- Fields:
- CharSet_Chinese As String
- CharSet_ChineseS As String
- CharSet_DOS_Latin_1 As String
- CharSet_IBM_PC As String
- CharSet_ISO8859 As String
- CharSet_UTF8 As String
- CharSet_Windows1252 As String
- Code_PC437 As Int
- Code_PC850 As Int
- Code_PC857 As Int
- Code_PC858 As Int
- Code_PC860 As Int
- Code_PC863 As Int
- Code_PC865 As Int
- Code_PC866 As Int
- Code_WPC1252 As Int
- Functions:
- Process_Globals As String
- Fields:
- LAN_Printer
- Events:
- Connected (Success As Boolean)
- DataReceived (Data() As Byte)
- Diconnected
- ErrorTrasmission
- Fields:
- Charset As String
- Functions:
- AddTab (ArrayTab As Int()) As String
Add Tab
eg. PrinterBLE.AddTab(Array As Byte(100,150,121)) - Beep (Times As Byte, SecondsDurate As Byte) As String
.Printer.Beep(1..9,1..9) - CenterJustify As String
after this command calls SendBufferToPrinter - Class_Globals As String
- Connect (Host As String, Port As Int) As String
- Disconnect As String
- Initialize (CallBack As Object, EventName As String) As String
Initializes the object. You can add parameters to this method if needed. - InitializePrinter As String
- IsInitialized As Boolean
Verifica se l'oggetto sia stato inizializzato. - LanConnection_Connected (Successful As Boolean) As String
- LeftJustify As String
after this command calls SendBufferToPrinter - PrintBitmap (bmp As Bitmap) As String
- RightJustify As String
after this command calls SendBufferToPrinter - SetCodePage (Code As Byte) As String
es. Printer.SetCodePage(06) for umlauts char - Write (Text As String) As String
Write (Print) a Text - Write_ArrayByte (B As Byte()) As String
Write (Send to Printer) a Array of Byte
eg. PrinterBLE.Write_ArrayByte(Array As Byte(0x1D,150,23))
eg. PrinterBLE.Write_ArrayByte("Text".GetBytes("UTF8")) - WriteBarCode (Code As String) As String
- WriteBarCode2D (Code As String) As String
- WriteLine (Text As String) As String
Write (Print) a Text + CHLF - WriteList (list As List) As String
Write (Print) a List
- AddTab (ArrayTab As Int()) As String
- Properties:
- CodeTable
es. printer.setCodeTable(Encoding.Code_WPC1252)
aftet this command calls SendBufferToPrinter - Spacing
after setSpacing command calls SendBufferToPrinter
- CodeTable
- Events:
- RS_Printer
- Fields:
- Charset As String
- Functions:
- AddTab (ArrayTab As Int()) As String
Add Tab
eg. PrinterBLE.AddTab(Array As Byte(100,150,121)) - Beep (Times As Byte, SecondsDurate As Byte) As String
.Printer.Beep(1..9,1..9) - CenterJustify As String
after this command calls SendBufferToPrinter - Class_Globals As String
- Connect (SerialDevOutput As String) As String
es. Connect("/dev/ttyAMA1")
es. Connect("/dev/ttyS0") - Disconnect As String
- Initialize (CallBack As Object, EventName As String) As String
Initializes the object. You can add parameters to this method if needed. - InitializePrinter As String
- IsInitialized As Boolean
Verifica se l'oggetto sia stato inizializzato. - LeftJustify As String
after this command calls SendBufferToPrinter - PrintBitmap (bmp As Bitmap) As String
- RightJustify As String
after this command calls SendBufferToPrinter - SetCodePage (Code As Byte) As String
es. Printer.SetCodePage(06) for umlauts char - Write (Text As String) As String
Write (Print) a Text - Write_ArrayByte (B As Byte()) As String
Write (Send to Printer) a Array of Byte
eg. PrinterBLE.Write_ArrayByte(Array As Byte(0x1D,150,23))
eg. PrinterBLE.Write_ArrayByte("Text".GetBytes("UTF8")) - WriteBarCode (Code As String) As String
- WriteBarCode2D (Code As String) As String
- WriteLine (Text As String) As String
Write (Print) a Text + CHLF - WriteList (list As List) As String
Write (Print) a List
- AddTab (ArrayTab As Int()) As String
- Properties:
- CodeTable
es. printer.setCodeTable(Encoding.Code_WPC1252)
aftet this command calls SendBufferToPrinter - Spacing
after setSpacing command calls SendBufferToPrinter
- CodeTable
- Fields:
- USB_Printer
- Events:
- WriteComplete
- Fields:
- Charset As String
- Functions:
- AddTab (ArrayTab As Int()) As String
Add Tab
eg. PrinterBLE.AddTab(Array As Byte(100,150,121)) - Beep (Times As Byte, SecondsDurate As Byte) As String
.Printer.Beep(1..9,1..9) - CenterJustify As String
after this command calls SendBufferToPrinter - Class_Globals As String
- CloseConnection As String
- FindAdbDevice As Boolean
- HasPermission As Boolean
- Initialize (CallBack As Object, EventName As String) As String
Initializes the object. You can add parameters to this method if needed. - InitializePrinter As String
- IsInitialized As Boolean
Verifica se l'oggetto sia stato inizializzato. - LeftJustify As String
after this command calls SendBufferToPrinter - OpenConnection As String
- PrintBitmap (bmp As Bitmap) As String
- RequestPermission As String
- RightJustify As String
after this command calls SendBufferToPrinter - SetCodePage (Code As Byte) As String
es. Printer.SetCodePage(06) for umlauts char - Write (Text As String) As String
Write (Print) a Text - Write_ArrayByte (D As Byte()) As String
Write (Send to Printer) a Array of Byte
eg. PrinterBLE.Write_ArrayByte(Array As Byte(0x1D,150,23))
eg. PrinterBLE.Write_ArrayByte("Text".GetBytes("UTF8")) - WriteBarCode (Code As String) As String
- WriteBarCode2D (Code As String) As String
- WriteLine (Text As String) As String
Write (Print) a Text + CHLF - WriteList (list As List) As String
Write (Print) a List
- AddTab (ArrayTab As Int()) As String
- Properties:
- CodeTable
es. printer.setCodeTable(Enoding.Code_WPC1252)
aftet this command calls SendBufferToPrinter - Spacing
after setSpacing command calls SendBufferToPrinter
- CodeTable
- Events:
log release
- 1.04
- Added CutPartialPaper, CutTotalPaper and feed(lines As Int) in esc_pos.
- Added WriteBitmap WriteByte WriteText - send to print immediately
- 1.05
- Added conversions of color images to black and white for printing
- 1.06
- fixed LAN classbug
- 1.07
- Added Beep method
- 1.08
- Added WriteBarCode, WriteBarCode2D and for Printer_BT also added AddBarCode2d. Other commands to print 2D barcodes compatible with some POS ESCs
Attachments
Last edited: