Skip to content

iminsoftware/imin_printer

Repository files navigation

imin_printer

Flutter plugin for iMin built-in thermal printers. Supports text, image, barcode, QR code, and label printing on Android.

iMin built-in thermal printer Flutter plugin.

Resources

Platform Support

Android
Yes

SDK Version Compatibility

SDK Version Android Version Features
SDK 2.0 Android 13+ Full feature set including label printing, ESC/POS font control, advanced 2D codes, transaction printing
SDK 1.0 Android 11 and below Basic printing, images, barcodes, QR codes

Installation

dependencies:
  imin_printer: ^0.7.3
flutter pub get

Quick Start

import 'package:imin_printer/imin_printer.dart';
import 'package:imin_printer/enums.dart';
import 'package:imin_printer/imin_style.dart';

final iminPrinter = IminPrinter();

// Initialize
await iminPrinter.initPrinter();

// Check status
Map<String, dynamic> status = await iminPrinter.getPrinterStatus();
print('Printer status: ${status['msg']}');

// Print text
await iminPrinter.printText('Hello World',
  style: IminTextStyle(
    fontSize: 28,
    fontStyle: IminFontStyle.bold,
    align: IminPrintAlign.center,
  ),
);

// Print QR code
await iminPrinter.printQrCode('https://www.imin.sg',
  qrCodeStyle: IminQrCodeStyle(
    qrSize: 6,
    align: IminPrintAlign.center,
  ),
);

// Cut paper (devices with cutter only)
await iminPrinter.partialCut();

Key Features

  • Text printing with custom fonts, styles, alignment
  • Image printing (URL and byte array)
  • Barcode printing (UPC, EAN, Code128, etc.)
  • QR code and double QR code printing
  • Advanced 2D codes: PDF417, DataMatrix, Aztec, MaxiCode [2.0]
  • ESC/POS font control (bold, italic, underline, multiple size) [2.0]
  • Label printing with canvas-based layout [2.0]
  • Transaction printing (buffer management) [2.0]
  • Cash drawer control
  • Paper cutting (on devices with cutter hardware)

Error Handling

try {
  Map<String, dynamic> status = await iminPrinter.getPrinterStatus();
  if (status['code'] != '0') {
    throw Exception('Printer error: ${status['msg']}');
  }
  await iminPrinter.printText('Hello World');
} catch (e) {
  print('Print error: $e');
}

Documentation

For complete API reference, examples, and device compatibility details:

https://iminsoftware.github.io/imin_printer/

License

This project is licensed under the terms specified in the LICENSE file.

About

flutter printing sdk encapsulated with imin printer

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors