flutter_dothantech_lpapi_thermal_printer 2.0.0
flutter_dothantech_lpapi_thermal_printer: ^2.0.0 copied to clipboard
Flutter plugin for Dothantech LPAPI thermal label printers. Supports Bluetooth discovery, direct connection without pairing, and printing of text, barcodes, QR codes, and images on both Android and iOS.
Changelog #
All notable changes to this project will be documented in this file.
2.0.0 - 2024-10-21 #
Added #
- iOS Support: Full iOS implementation with feature parity to Android
- Bluetooth printer discovery using LPAPI SDK
- Direct connection to printers by name
- Print text, 1D barcodes, 2D QR codes, and images
- Adjustable print density (0-20, auto-mapped to iOS range 0-15)
- Adjustable print speed (1-5)
- Connection status monitoring and event callbacks
- All features available on both iOS and Android platforms
Changed #
- Updated README with comprehensive iOS setup instructions
- Enhanced example app with platform detection indicator (shows "Running on iOS" or "Running on Android")
- Improved documentation with iOS-specific troubleshooting guide
- Added
IOS_IMPLEMENTATION.mdtechnical documentation - Updated package description to highlight cross-platform support
Technical Details #
- Added Objective-C implementation (
FlutterDothantechLpapiThermalPrinterPlugin.m) - Integrated LPAPI SDK for iOS (supports iOS 12.0+)
- Implemented conditional library linking for device and simulator builds
- Added proper CocoaPods configuration with separate libraries for device/simulator
- Updated pubspec.yaml to include iOS platform registration
Platform Support #
- Android: Full support (unchanged)
- iOS: NEW - Full support added
Breaking Changes #
- Version bumped to 2.0.0 to indicate major feature addition (iOS support)
- No API changes - existing Android code remains fully compatible
1.0.0 - 2024-10-01 #
Added #
- Initial release of LPAPI Thermal Printer Plugin
- Bluetooth printer discovery without requiring manual pairing
- Direct connection to Dothantech thermal label printers
- Text printing with customizable label dimensions
- 1D barcode printing with optional text labels
- QR code (2D barcode) printing support
- Image printing from base64 encoded data
- Adjustable print density (darkness) settings
- Adjustable print speed settings
- Real-time printer connection status monitoring
- Support for both paired and unpaired printer discovery
- Comprehensive example application
- Full API documentation
Features #
searchPrinters()- Find already paired printersdiscoverPrinters()- Discover all nearby printers (paired and unpaired)connectPrinter(address)- Connect to specific printer by MAC addressconnectFirstPrinter()- Quick connect to first available printerdisconnectPrinter()- Disconnect from current printergetPrinterStatus()- Get current connection statusprintText()- Print plain textprint1DBarcode()- Print 1D barcodes with optional labelsprint2DBarcode()- Print QR codesprintImage()- Print images from base64 datasetPrintDensity()- Adjust print darkness (0-20)setPrintSpeed()- Adjust print speed (1-5)
Platform Support #
- Android: Full support with LPAPI SDK integration
- iOS: Not yet implemented
Dependencies #
- Flutter SDK >=3.3.0
- Dart SDK >=3.9.2
- Dothantech LPAPI SDK (included)