如何在颤动中生成条形码?

时间:2018-06-22 09:40:28

标签: android dart flutter flutter-dependencies

我想在抖动中生成条形码,但我只找到了barcode_scan之类的条形码扫描仪程序包,但是我想要zxing库(在Android中是本机)之类的东西,它也可以生成多种格式的条形码,例如EAN ,Code128等。尽管我的要求是EAN。

3 个答案:

答案 0 :(得分:5)

我已经实现了Flutter库,可以实现您想要的功能。

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

Screenshot

答案 1 :(得分:2)

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

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

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

答案 2 :(得分:0)

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

  1. 将Syncfusion Flutter条形码依赖项添加到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. 初始化QR码符号体系

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

    @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,
            ),
          ))),
        );
      }

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

enter image description here

  1. 初始化条形码

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

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

enter image description here