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 printers with ease across multiple platforms.
Currently Supported
Service | Android | iOS | macOS | Windows |
---|---|---|---|---|
Bluetooth | ✅ | ✅ | ✅ | ✅ |
USB | ✅ | ✅ | ✅ | |
BLE | ✅ | ✅ | ✅ | ✅ |
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.
}
// Refer to Example for Complete code
Bluetooth Services
Feature | Android | iOS | macOS | Windows |
---|---|---|---|---|
Start scanning | ✅ | ✅ | ✅ | ✅ |
Stop scanning | ✅ | ✅ | ✅ | ✅ |
Connect printer | ✅ | ✅ | ✅ | ✅ |
Disconnect printer | ✅ | ✅ | ✅ | ✅ |
Print data | ✅ | ✅ | ✅ | ✅ |
Print widget | ✅ | ✅ | ✅ | ✅ |
USB Services
Feature | Android | iOS | macOS | Windows |
---|---|---|---|---|
Start scanning | ✅ | ✅ | ✅ | |
Stop scanning | ✅ | ✅ | ||
Connect printer | ✅ | ✅ | ||
Print data | ✅ | ✅ | ||
Print widget | ✅ | ✅ |
Printer Model Class
String? address;
String? name;
ConnectionType? connectionType;
bool? isConnected;
String? vendorId;
String? productId;
Additional Features
Screenshot to Printer
Easily capture and print widgets as images using the printWidget
method.
Image Cropping for Long Prints
Handles long data by cropping images and printing them in chunks to ensure seamless printing on devices with limited buffer capacity.
Connection Type Validation
- Ensures
ConnectionType
compatibility and alerts when unsupported combinations are used.
BLE State Monitoring
Provides real-time monitoring for Bluetooth states, ensuring proactive error handling and reconnections.
Notes and Recommendations
-
Windows Users: Make sure you have the POS-X driver installed on Windows for printer compatibility.
Download the driver from POS-X Drivers. -
Cross-Platform Usage: Ensure Bluetooth permissions and configurations are set correctly for Android and iOS.
Contributing Guidelines
We welcome contributions to enhance the plugin's functionality!
To contribute, please fork the repository, make changes, and submit a pull request.
For bug reports or feature requests, feel free to open an issue.