Imin Printer
A Flutter package for easy integration with Imin POS devices. Supports advanced printer commands, LCD display management, and cash drawer operations for retail and POS apps.
Note: After version 0.7.0, this package use IminPrinterLibrary SDK V2.0.0.17, which may causing unexpected behavior than older package version since I don't have access to test on Imin Devices.
Support
xAndroid
Tested On
- Imin D1
- Imin D4 Pro
- Imin M2-202
- Imin M2 Pro
- Swift 2
Installation
flutter pub add another_imin_printer
What this package do
Printer Related
All printer related command available:
xInitialize PrinterxSet print sizexGet Printer StatusxGet model namexGet brand namexPrint raw bytes (Uint8List)xPrint textxPrint 2 Column textxPrint Bitmap (Uint8List)xPrint Bitmap base64 (String)xSet StylexPartial cutxFull cut
LCD Display Related
Tested on: Imin D1
xInitialize LCD ManagerxSend bitmap base 64 to LCD ScreenxClear LCD Screen
Cash Drawer Related
Tested on: Imin D4 Pro
xOpen cash drawer
You can combine this package with presentation_display to use customer display on some Imin device
Example
Instance
IminPrinter iminPrinter = IminPrinter();
Init Printer
Use init before accessing other functionality
iminPrinter.initPrinter(printSizeImin: PrintSizeImin.mm58);
Print Text
iminPrinter.printText(
'Sample Text',
printStyle: const PrintStyle(textAlign: PrintStyleAlign.center),
); // Print text on Center
Print 2 Column Text
iminPrinter.print2ColumnsText(['Left Text', 'Right Text']);
Print Bytes
iminPrinter.printBytes(Uint8List.fromList([0x1B, 0x40, 0x0A])); // Print raw bytes
Open Cash Drawer
iminPrinter.openCashDrawer();
Contributing
Contributions are welcome! Please open issues or submit pull requests for any improvements or bug fixes. Make sure to follow the existing code style and include tests where appropriate.
License
This project is licensed under the MIT License. See the LICENSE file for details.