flutter_thermal_printer 0.0.17 copy "flutter_thermal_printer: ^0.0.17" to clipboard
flutter_thermal_printer: ^0.0.17 copied to clipboard

Plugin for Flutter to print on thermal printers via ESC/POS commands.

flutter_thermal_printer #

Visits Badge Updated Badge

Package for all services for thermal printer in android, ios, macos, windows.

Getting Started #

This plugin is used to print data on thermal printer.

Currently Supported #

Service Android iOS macOS Windows
Bluetooth
USB

 final _flutterThermalPrinterPlugin = FlutterThermalPrinter.instance;


  // Enum ConnectionType
  enum ConnectionType {
    BLE,
    USB,
  }

  // Additional Functions
  // Recommended Function for getting printers
  getPrinters(
    refreshDuration: Duration,
    connectionTypes: List<ConnectionType>,
  ){
    // Supports WINDOWS, ANDROID for USB
    // MAC, IOS, ANDROID, WINDOWS for BLUETOOTH.
  }


  List<Printer> bleDevices = [];

  StreamSubscription<List<Printer>>? _devicesStreamSubscription;

  //  Start scanning for BLE devices
  Future<void> startScan() async {
    try {
      await _flutterThermalPrinterPlugin.startScan();
      _devicesStreamSubscription =
          _flutterThermalPrinterPlugin.devicesStream.listen((event) {
        setState(() {
          bleDevices = event.map((e) => Printer.fromJson(e.toJson())).toList();
          bleDevices.removeWhere(
            (element) => element.name == null || element.name!.isEmpty,
          );
        });
      });
    } catch (e) {
      log('Failed to start scanning for devices $e');
    }
  }

  // Stop scanning for BLE devices
  Future<void> stopScan() async {
    try {
      _devicesStreamSubscription?.cancel();
      await _flutterThermalPrinterPlugin.stopScan();
    } catch (e) {
      log('Failed to stop scanning for devices $e');
    }
  }

 // Usb Devices List
  Future<void> getUsbDevicesList() async {
    try {
      await _flutterThermalPrinterPlugin.getUsbDevices();
      _devicesStreamSubscription?.cancel();
      _devicesStreamSubscription =
          _flutterThermalPrinterPlugin.devicesStream.listen((event) {
        setState(() {
          printers = event;
        });
      });
    } catch (e) {
      log('Failed to get usb devices list $e');
    }
  }

Bluetooth Services #

Feature Android iOS macOS Windows
Start scanning
stop scanning
connect printer
disconnect printer
print data

USB Services #

Feature Android iOS macOS Windows
Start scanning
stop scanning
connect printer
print data

Printer Model Class #

 String? address;
  String? name;
  ConnectionType? connectionType;
  bool? isConnected;
  String? vendorId;
  String? productId;



Take Care OF #

Printers of Widows will only work if you have the POS-X driver installed on Windows.

Download Driver from Here:

https://pos-x.com/download/thermal-receipt-printer-driver-2/

Contributers #

Contributors Display