You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

咨询Flutter中可识别图片条码/二维码并返回类型的第三方包

Flutter 图片条码/二维码扫描并返回类型的第三方包推荐

以下两个第三方包可以满足从图片中扫描条码/二维码并返回对应条码类型的需求:

1. flutter_zxing

  • 支持从本地图片、内存图片解析多种条码格式(QR Code、Code 128、EAN-13等),跨平台兼容Android、iOS
  • 扫描结果会包含条码内容和具体类型,类型以枚举形式返回(如QR_CODE、CODE_128)

示例代码:

import 'package:flutter_zxing/flutter_zxing.dart';
import 'package:image_picker/image_picker.dart';

Future<void> scanBarcodeFromGallery() async {
  final imagePicker = ImagePicker();
  final pickedImage = await imagePicker.pickImage(source: ImageSource.gallery);
  
  if (pickedImage != null) {
    final scanResult = await ZxingReader.scanImage(pickedImage.path);
    if (scanResult.isValid) {
      print('扫描内容:${scanResult.text}');
      print('条码类型:${scanResult.format.name}');
    }
  }
}

2. barcode_scan2

  • 除了实时摄像头扫描,也支持从本地图片文件解析条码,返回的结果对象包含条码类型信息
  • 支持的条码格式覆盖常见类型,使用方式简单

示例代码:

import 'package:barcode_scan2/barcode_scan2.dart';
import 'package:image_picker/image_picker.dart';

Future<void> scanFromLocalImage() async {
  final picker = ImagePicker();
  final selectedImage = await picker.pickImage(source: ImageSource.gallery);
  
  if (selectedImage != null) {
    final ScanResult result = await BarcodeScanner.scanImage(selectedImage.path);
    print('扫描内容:${result.rawContent}');
    print('条码类型:${result.format}');
  }
}

这两个包都能解决你之前使用scan和FlutterBarcodeScan无法获取条码类型的问题,它们的扫描结果对象中都包含明确的条码类型字段。

内容的提问来源于stack exchange,提问作者Asliddin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 08:23:26