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

Posted

技术标签:

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

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

【问题讨论】:

您要生成哪种条码,例如: PDF 417 符号? 我想生成 EAN 13 格式 【参考方案1】:

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

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

    dependencies:
      syncfusion_flutter_barcodes: ^xx.x.xx.  /// For now -  syncfusion_flutter_barcodes: ^18.3.42
    

    在您的 Dart 代码中导入以下包。

    import 'package:syncfusion_flutter_barcodes/barcodes.dart';
    

    初始化二维码符号

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

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

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

    初始化条码

    您可以通过初始化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。请告诉我一条出路。 那是你必须自己实现的代码。也许包所有者有兴趣添加功能。这是有道理的,因为它没有那么多额外的代码。

以上是关于如何在颤振中生成条形码?的主要内容,如果未能解决你的问题,请参考以下文章

是否有从手机库读取条形码和二维码的颤振包?

Excel 如何在EXCEL中批量的自动生成条形码

如何将barcodescanner生成的条形码图像存储在phonegap中

如何使用 C# 从字符串生成条形码?

如何使用 aurelia 生成和扫描条形码?

如何使用 GenCode128 生成带有嵌入文本的条形码