【问题标题】:How to generate barcode in flutter?如何在颤振中生成条形码?
【发布时间】:2018-12-01 18:20:59
【问题描述】:

我想在 Flutter 中生成条形码,但我只找到了像 barcode_scan 这样的条形码扫描仪包,但我想要类似 zxing 库(Android 原生)之类的东西,它还可以生成多种格式的条形码,如 EAN、Code128 等。虽然我的要求是 EAN。

【问题讨论】:

  • 您要生成哪种条码,例如: PDF 417 符号?
  • 我想生成 EAN 13 格式

标签: android dart flutter flutter-dependencies


【解决方案1】:

使用Syncfusion Flutter Barcode 生成器,它是一个数据可视化小部件,用于以机器可读格式生成和显示数据。它提供了一种使用支持​​的符号系统类型对输入值进行编码的完美方法。

  1. 将 Syncfusion Flutter Barcode 依赖项添加到您的 pubspec.yaml 文件中。

    dependencies:
      syncfusion_flutter_barcodes: ^xx.x.xx.  /// For now -  syncfusion_flutter_barcodes: ^18.3.42
    
  2. 在您的 Dart 代码中导入以下包。

    import 'package:syncfusion_flutter_barcodes/barcodes.dart';
    
  3. 初始化二维码符号

将条形码生成器小部件添加为任何小部件的子级。在这里,小部件被添加为容器小部件的子小部件,并指定容器的高度(否则它将占用整个容器高度)。

    @override
      Widget build(BuildContext context) {
        return MaterialApp(
          home: Scaffold(
              body: Center(
                  child: Container(
            height: 200,
            child: SfBarcodeGenerator(
              value: 'www.syncfusion.com',
              symbology: QRCode(),
              showValue: true,
            ),
          ))),
        );
      }

以下屏幕截图说明了前面代码示例的结果。

  1. 初始化条码

    您可以通过初始化symbology 属性,根据输入值将所需的符号系统类型设置为条形码生成器。在下面的代码sn-p中,二维码设置为条码符号。

    @override
    Widget build(BuildContext context) {
      return MaterialApp(
          home: Scaffold(
              body: Center(
                  child: Container(
                       height: 150,
                   child:SfBarcodeGenerator(value:'http://www.syncfusion.com')
                      )
                  )
              )      
          );
      }
    

【讨论】:

    【解决方案2】:

    我已经实现了一个 Flutter 库,可以满足您的需求。

    请在此处查看barcode_flutter 支持 EAN8 和 EAN13。

    【讨论】:

      【解决方案3】:

      barcode_scan 为 Android 插件使用 zxing 库,因此您可以轻松扩展该插件以支持用于生成条形码的 API。对于 iOS 版本的插件,使用 AVMetadataMachineReadableCodeObject 代替 zxing,因为 xzing 的 iOS 端口已停止使用。 Flutter 支持 iOS 8.0+,并且 iOS 8.0 引入了用于生成条形码的 API 作为Core Image API 的一部分。支持的格式有:

      • 方形二维码
      • 阿兹台克代码符号
      • PDF 417 符号
      • 数据矩阵代码符号

      如果您要在此列表中查找条形码,则可以很容易地分叉barcode_scan 包来为您的应用添加生成功能。

      【讨论】:

      • 是的,zxing 在barcode_scan 中使用是对的,但我没有在使用flutter 实现的库的kotlin 类中找到任何用于生成条形码的代码。只有条形码 scan() 方法。
      • 我也不知道如何扩展barcode_scan 插件来支持生成条形码的API。请告诉我一条出路。
      • 那是你必须自己实现的代码。也许包所有者有兴趣添加功能。这是有道理的,因为它没有那么多额外的代码。
      猜你喜欢
      • 2022-08-17
      • 2020-12-07
      • 2019-12-17
      • 2020-11-19
      • 2023-03-31
      • 1970-01-01
      • 2011-12-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多