Flutter 蓝牙热敏打印机集成

问题描述 投票:0回答:2

我有一个 flutter 送餐应用程序。除此之外,我还有一个单独的餐厅应用程序,我可以在其中接受和拒绝订单。我很长一段时间以来一直在尝试做一些事情,以便当餐厅接受订单时,蓝牙热敏打印机会自动打印出一张收据。我找到了很多代码,但我不明白如何在现有项目中输入这些代码。

例如在 lib/view/screens 中,我有命令页面屏幕,如下所示:

              if(orderModel.orderStatus == 'pending' && (orderModel.orderType == 'take_away'
              || Get.find<SplashController>().configModel.orderConfirmationModel != 'deliveryman'))  {
            Get.dialog(ConfirmationDialog(
              icon: Images.warning, title: 'are_you_sure_to_confirm'.tr, description: 'you_want_to_confirm_this_order'.tr,
              onYesPressed: () {
                orderController.updateOrderStatus(orderModel.id, 'confirmed', back: true).then((success) {
                  if(success) {
                    Get.find<AuthController>().getProfile();
                    Get.find<OrderController>().getCurrentOrders();
                  }
                });
              },

我想在这里,当用户按下确认按钮时,输入一个代码,该代码将通过蓝牙将自动收据发送到热敏打印机。 ((onYesPressed))

我看过很多github,但我不明白在哪里添加该代码。因为那是一个新项目,但我想将这些代码添加到我当前的应用程序中。有人可以详细向我解释一下我应该如何进行吗?

非常感谢,

android flutter mobile
2个回答
0
投票
  1. 首先,您需要将蓝牙热敏打印机的插件添加到现有的 Flutter 项目中。您可以通过将以下依赖项添加到 pubspec.yaml 文件中来完成此操作。
dependencies: 
  flutter_bluetooth_thermal_printer: ^1.0.0
  1. 在您的项目中导入插件:
import 'package:[PACKAGE_NAME].dart';
  1. 创建一个单独的窗口来搜索可用的打印机,之后,您可以使用该插件连接到蓝牙热敏打印机并进行打印。例如,您可以使用以下步骤连接打印机并打印简单的文本:

  2. 首先检查蓝牙是

    On
    还是
    Off
    。您可以使用 system_shortcuts 包检查蓝牙设备。

// it return true if already bluetooth is turned on
var isOn = SystemShortcuts.checkBluetooth;
if (!isOn){
 // it turn-on the bluetooth
 await SystemShortcuts.bluetooth();
}
  1. 扫描设备并连接到打印机:

例如。

// Connect to the printer 
FlutterBluetoothThermalPrinter.connect('MY_PRINTER_ID').then((printer) { 
  // Print text 
  printer.printString('Hello World!'); 
});
  1. 现在使用打印方法在任何屏幕上打印数据。

请注意,这只是将蓝牙热敏打印机集成到 Flutter 项目中的流程的概述。您需要查阅 Flutter 蓝牙包的文档以及打印机的特定文档才能完成集成。
这里
找到兼容的SDK 这是我之前使用过的一些 flutter SDK 的列表:


0
投票

您可以尝试使用这个包。它使得连接蓝牙热敏打印机变得非常简单。

x_printer(适用于 Android 和 iOS)

© www.soinside.com 2019 - 2024. All rights reserved.