flutter_thermal_printer 0.0.9
flutter_thermal_printer: ^0.0.9 copied to clipboard
Plugin for Flutter to print on thermal printers via ESC/POS commands.
flutter_thermal_printer #
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/