FLUTTER ECOSYSTEM

andriyoganp/blue_print_pos

Helper to use bluetooth print in Android and iOS

blue_print_pos project cover
Stars
35
Forks
83
Last push (UTC)
Jul 31, 2024
Project status
Active
Andri Yoga GitHub avatar
GITHUB User

Andri Yoga ↗

LanguagesDartKotlinSwiftRubyObjective-C

Technical topics

Packages published by this repository

Dependencies used

Dependency list 7 items

Original README

English project snapshot. Visit GitHub for the latest content.

Expand / collapse project README

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);

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