5

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

4

3 回答 3

6

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

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

截屏

于 2018-08-28T04:11:55.743 回答
2

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 包以添加您的应用程序的生成功能。

于 2018-06-22T10:56:28.880 回答
1

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

  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. 初始化 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,
            ),
          ))),
        );
      }

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

在此处输入图像描述

  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')
                      )
                  )
              )      
          );
      }
    

在此处输入图像描述

于 2020-10-23T03:10:27.487 回答