Android library for communication with thermal printers via Bluetooth. This library is only compatible with androidx.
Add jitpack.io to your root build.gradle:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Finally add the dependency to your app build.gradle:
dependencies {
implementation "com.github.isradeleon:ThermalPrinter:1.0.3"
}
This library includes the code for the bluetooth connection. All you need to do is first to start the ConnectBluetoothActivity:
override fun onCreate(savedInstanceState: Bundle?) {
...
startActivityForResult(
Intent(this, ConnectBluetoothActivity::class.java),
ConnectBluetoothActivity.CONNECT_BLUETOOTH
)
}
You'll get Activity.RESULT_OK if the device was successfully connected via bluetooth:
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if(resultCode == Activity.RESULT_OK && requestCode == ConnectBluetoothActivity.CONNECT_BLUETOOTH){
// ThermalPrinter is ready
ThermalPrinter.instance
.write("Hello world", PrintAlignment.CENTER, PrintFont.LARGE)
.fillLineWith('-')
.write("Let's eat","some tacos")
.write("Price","0.5 USD")
.writeImage(BitmapFactory.decodeResource(getResources(), R.drawable.panda))
.print()
}
}
If you want to set or modify the BluetoothSocket by yourself, you can do it with the BluetoothConnection class. ThermalPrinter uses this socket to send all its commands to the printer.
Method | Description |
---|---|
print() | Prints all the written content |
write(text: String) | Writes text to thermal printer |
write(text: String, alignment: PrintAlignment) | Writes text and sets the text alignment |
write(text: String, alignment: PrintAlignment, font: PrintFont) | Writes text, sets text alignment and font size |
write(key: String, value: String) | Writes a line with key value pair |
write(key: String, value: String, separator: Char) | Writes a line with key value pair and fills space with separator |
writeImage(bitmap: Bitmap) | Writes an image to thermal printer. Image must be black and white format |
newLine() | Writes a new line to thermal printer |
fillLineWith(char: Char) | Writes a line filled with the specified char |
This library uses Thermal Printer in Android code for image printing.
This library is licensed under MIT license
. View license.