flutter_printlink 1.0.0
flutter_printlink: ^1.0.0 copied to clipboard
A comprehensive Flutter plugin for thermal printer integration with AutoReplyPrint library. Supports Bluetooth, USB, Network connections with label and POS printing modes for Android and iOS.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.0.0 - 2025-01-29 #
Added #
Core Functionality
- Multi-Platform Support: Complete Flutter plugin implementation for Android and iOS
- Multiple Connection Types: Support for Bluetooth Classic, Bluetooth LE, USB, Network, COM, and WiFi P2P connections
- Dual Printing Modes:
- Label mode optimized for 5cm x 2.5cm thermal stickers
- POS mode for receipt printing with rich formatting
- Content Printing: Text with formatting, QR codes, barcodes, and high-quality images
- Real-time Status Updates: Live printer status monitoring via Flutter event streams
Android Implementation
- Full AutoReplyPrint library integration (v3.x)
- Native performance with JNA library bindings
- Support for all connection types including WiFi P2P
- Hardware-accelerated image processing with error diffusion
- Advanced thermal printer controls (density, speed, positioning)
- Complete printer management and diagnostics
iOS Implementation
- Custom ESC/POS command implementation
- Native Swift integration with Objective-C bridge
- Bluetooth Classic and Bluetooth LE support
- Core thermal printing features with optimized performance
- MFi accessory support for USB connections
- Memory-efficient image processing
API Features
- Connection Management: Device enumeration, connection handling, status monitoring
- Text Printing: Rich text formatting with alignment, sizing, and styling options
- QR Code Printing: Multiple sizes (3-8) with error correction
- Barcode Printing: Support for CODE128, CODE39, UPC-A, UPC-E, and more
- Image Printing: Optimized bitmap printing with automatic scaling and dithering
- Paper Control: Half-cut, full-cut, paper feeding, and positioning
- Printer Maintenance: Reset, buffer clearing, error handling, self-test
- Advanced Controls: Print density, speed control, audio feedback, cash drawer
Developer Experience
- Comprehensive example application demonstrating all features
- Detailed API documentation with code samples
- Type-safe Dart APIs with proper error handling
- Flutter event streams for real-time status updates
- Platform-specific permission handling
- Memory-efficient resource management
Business Features
- Professional label printing for retail and inventory management
- POS receipt printing with business-ready formatting
- Multi-language support with UTF-8 encoding
- Error recovery and diagnostic capabilities
- Production-ready stability and performance
- Support for major thermal printer brands (CAYSN, ESC/POS compatible)
Technical Details #
Dependencies
- Flutter SDK:
>=2.5.0
- Dart SDK:
>=2.12.0 <4.0.0
- plugin_platform_interface:
^2.0.2
Supported Platforms
- Android: API level 21+ (Android 5.0+)
- iOS: iOS 11.0+
Package Structure
/lib
: Dart API implementation/android
: Android native implementation with AutoReplyPrint AAR/ios
: iOS native implementation with Swift/Objective-C/example
: Comprehensive example application
Performance Optimizations
- Efficient image processing algorithms
- Memory management for large print jobs
- Background processing for non-blocking operations
- Optimized ESC/POS command generation
- Batch processing for multiple labels
Testing
- Unit tests for core functionality
- Integration tests with real hardware
- Example app testing on multiple devices
- Performance testing with various image sizes
- Memory leak testing and optimization
Platform Limitations #
iOS Limitations
- USB connections limited to MFi certified accessories
- Network printer support is basic compared to Android
- Some advanced AutoReplyPrint features not available
- Bluetooth connectivity is fully supported
Android Full Support
- All connection types fully supported
- Complete AutoReplyPrint library integration
- Advanced printer controls and diagnostics
- Hardware-accelerated processing
Migration Guide #
This is the initial release, so no migration is needed. For new projects:
- Add dependency to
pubspec.yaml
- Follow platform setup instructions in README
- Import the plugin and start using the APIs
- Check the example app for implementation patterns
Known Issues #
- None reported for initial release
Contributors #
- Initial development and release preparation
- Android native implementation with AutoReplyPrint integration
- iOS native implementation with ESC/POS commands
- Example application and documentation
- Testing and quality assurance
Future Releases #
Upcoming Features (Planned) #
- Enhanced network printer discovery
- Additional barcode format support
- Print preview functionality
- Batch printing optimizations
- Extended iOS capabilities where platform allows
- Additional thermal printer brand support
Feedback and Contributions #
We welcome feedback, bug reports, and contributions! Please visit our GitHub repository or pub.flutter-io.cn page to:
- Report issues or bugs
- Request new features
- Submit pull requests
- Ask questions or get support
For business inquiries or custom integration support, please contact us through the repository.