Flutter条码扫描与打印集成插件zebra_scan_print_datawedge的使用

Flutter条码扫描与打印集成插件zebra_scan_print_datawedge的使用

该插件提供了与Zebra DataWedge交互的简单接口,用于条形码扫描和标签打印功能。它包括管理DataWedge配置文件的方法、控制扫描以及通过Zebra打印机打印标签的方法。

功能

  • 创建和管理DataWedge配置文件
  • 启动和停止条形码扫描
  • 获取扫描数据流
  • 连接到Zebra打印机(通过IP)
  • 使用Zebra打印机打印标签
  • 校准Zebra打印机

Example App

安装

要使用Zebra DataWedge插件,请将其添加到pubspec.yaml文件中:

dependencies:
  zebra_scan_print_datawedge: ^<latest_version>

然后运行flutter pub get以安装包。

设置

  1. 确保在Zebra设备上安装了Zebra DataWedge应用。
  2. 确保授予访问扫描器和打印机功能所需的权限。

使用

初始化DataWedge

在使用任何DataWedge功能之前,必须初始化插件。

ZebraDataWedge().initialized();

扫描方法

创建DataWedge配置文件

此方法使用给定的名称创建一个DataWedge配置文件。如果没有提供名称,默认为"TejasGProdInternal_2"

ZebraDataWedge().createDataWedgeProfile(profileName: "MyProfile");

启动扫描

此方法将启动条形码扫描器。

ZebraDataWedge().startScan();

停止扫描

此方法将停止条形码扫描器。

ZebraDataWedge().stopScan();

获取扫描数据流

此方法提供一个流,该流将在扫描时发出扫描的条形码数据。

ZebraDataWedge().getStreamOfData.listen((scannedData) {
  print('Scanned Data: $scannedData');
});

启用DataWedge

启用DataWedge服务。

ZebraDataWedge().enableDataWedge();

禁用DataWedge

禁用DataWedge服务。

ZebraDataWedge().disableDataWedge();

打印机方法

连接到打印机

使用其IP地址和可选端口号(默认为9100)连接到Zebra打印机。

bool isConnected = await ZebraDataWedge().connectToPrinter("192.168.1.100");

断开连接到打印机

使用其IP地址断开连接到Zebra打印机。

bool isDisconnected = await ZebraDataWedge().disconnectToPrinter("192.168.1.100");

打印标签

发送ZPL(Zebra编程语言)命令到打印机以打印标签。确保传递的标签被前导斜杠和单引号包围。

bool printed = await ZebraDataWedge().printerLabel("192.168.1.100", "/'^XA^FO100,100^A0N,50,50^FDHello, World!^FS^XZ'/");

校准打印机

通过发送校准命令来校准Zebra打印机。命令必须被前导斜杠和单引号包围。

bool calibrated = await ZebraDataWedge().calibratePrinter("192.168.1.100", "/'^XA^MMT^XZ'/");

检查打印机是否可用

此方法会检查打印机是否在提供的IP地址处可用。

bool isAvailable = await ZebraDataWedge().isPrinterAvailable("192.168.1.100");

API 方法

扫描方法

  • createDataWedgeProfile({String profileName = "TejasGProdInternal_2"}): 使用给定的配置文件名称创建DataWedge配置文件。
  • startScan(): 开始条形码扫描过程。
  • stopScan(): 停止条形码扫描过程。
  • getStreamOfData: 提供扫描条形码的数据流。
  • initialized(): 初始化插件以使用。
  • enableDataWedge(): 启用DataWedge服务进行扫描。
  • disableDataWedge(): 禁用DataWedge服务进行扫描。

打印机方法

  • connectToPrinter(String ipAddress, {int portNumber = 9100}): 使用提供的IP地址和端口号连接到Zebra打印机。
  • disconnectToPrinter(String ipAddress): 断开连接到Zebra打印机。
  • printerLabel(String ipAddress, String label): 发送ZPL标签到打印机。
  • calibratePrinter(String ipAddress, String command): 发送校准命令到打印机。
  • isPrinterAvailable(String ipAddress): 检查打印机是否在提供的IP地址处可用。

示例

void main() async {
  ZebraDataWedge dataWedge = ZebraDataWedge();

  // 初始化DataWedge
  await dataWedge.initialized();

  // 创建DataWedge配置文件
  await dataWedge.createDataWedgeProfile(profileName: "MyProfile");

  // 开始扫描
  await dataWedge.startScan();

  // 监听扫描数据
  dataWedge.getStreamOfData.listen((scannedData) {
    print('Scanned Data: $scannedData');
  });

  // 连接到打印机
  bool connected = await dataWedge.connectToPrinter("192.168.1.100");

  // 打印标签
  bool printed = await dataWedge.printerLabel("192.168.1.100", "'^XA^FO100,100^A0N,50,50^FDHello, Zebra!^FS^XZ'");

  // 检查打印机是否可用
  bool isAvailable = await dataWedge.isPrinterAvailable("192.168.1.100");

  // 校准打印机
  bool calibrated = await dataWedge.calibratePrinter("192.168.1.100", "'^XA^MMT^XZ'");

  // 断开连接到打印机
  bool disconnected = await dataWedge.disconnectToPrinter("192.168.1.100");
}

更多关于Flutter条码扫描与打印集成插件zebra_scan_print_datawedge的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter条码扫描与打印集成插件zebra_scan_print_datawedge的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


要在Flutter应用中集成Zebra设备的条码扫描与打印功能,可以使用zebra_scan_print_datawedge插件。这个插件允许你通过DataWedge API与Zebra设备进行交互,实现条码扫描和打印功能。

以下是使用zebra_scan_print_datawedge插件的基本步骤:

1. 添加依赖

首先,在pubspec.yaml文件中添加zebra_scan_print_datawedge插件的依赖:

dependencies:
  flutter:
    sdk: flutter
  zebra_scan_print_datawedge: ^0.0.1

然后,运行flutter pub get来获取依赖。

2. 初始化插件

在你的Flutter应用启动时,初始化zebra_scan_print_datawedge插件:

import 'package:zebra_scan_print_datawedge/zebra_scan_print_datawedge.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  ZebraScanPrintDatawedge.initialize();
  runApp(MyApp());
}

3. 配置DataWedge Profile

在使用插件之前,你需要配置DataWedge Profile。你可以通过插件的configureDataWedgeProfile方法来配置:

ZebraScanPrintDatawedge.configureDataWedgeProfile(
  profileName: 'MyProfile',
  profileEnabled: true,
  scannerInputEnabled: true,
  intentAction: 'com.example.ACTION',
  intentCategory: 'android.intent.category.DEFAULT',
);

4. 处理扫描结果

你可以通过监听广播Intent来获取扫描结果。首先,定义一个Intent过滤器来接收扫描结果:

ZebraScanPrintDatawedge.setIntentListener((intent) {
  String scannedData = intent['com.symbol.datawedge.data_string'];
  print('Scanned Data: $scannedData');
});

5. 打印功能

使用插件的print方法来发送打印任务到Zebra打印机:

ZebraScanPrintDatawedge.print(
  printerAddress: '192.168.1.1', // 打印机IP地址
  zplData: '^XA^FO50,50^A0N,30,30^FDHello, Zebra!^FS^XZ',
);

6. 权限处理

确保你的应用具有必要的权限,例如蓝牙和位置权限,以便与Zebra设备进行通信。

<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
回到顶部