Introduction
This plugin to help use bluetooth printer in Android/iOS. Support for text, image, add new line or line dashed and QR.
Usage
Initialize
BluePrintPos bluePrintPos = BluePrintPos.instance;
Scan bluetooth printer
bluePrintPos.scan();
Connect bluetooth printer
bluePrintPos.connect(device);
Print Text
In method .addText(text, {size, style, alignment})
you can modify size, style and alignment
ReceiptSectionText receiptText = ReceiptSectionText();
receiptText.addText('MY STORE', size: ReceiptTextSizeType.medium, style: ReceiptTextStyleType.bold);
Print text left right
receiptText.addLeftRightText('Time', '04/06/21, 10:00');
Print image
final ByteData logoBytes = await rootBundle.load('assets/logo.jpg');
receiptText.addImage(
base64.encode(Uint8List.view(logoBytes.buffer)),
width: 150,
);
Add new line
receiptText.addSpacer();
Add new line with dash
receiptText.addSpacer(useDashed: true);
Batch Printing
await bluePrintPos.printReceiptText(
receipt,
batchPrintOptions: const BatchPrintOptions.perNContent(20),
);
Getting Started
Android
Change the minSdkVersion
in android/app/build.gradle in 19
android {
defaultConfig {
minSdkVersion 19
}
}
Add permission for Bluetooth and access location in android/app/src/main/AndroidManifest.xml
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
iOS
Add info key in ios/Runner/Info.plist
<key>NSBluetoothAlwaysUsageDescription</key>
<string>Need BLE permission</string>
<key>NSBluetoothPeripheralUsageDescription</key>
<string>Need BLE permission</string>
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>Need Location permission</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>Need Location permission</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Need Location permission</string>
Thanks to
Reference and dependencies create this plugin