Flutter机器可读区域(MRZ)扫描插件mrz_scanner的使用
Flutter机器可读区域(MRZ)扫描插件mrz_scanner的使用
本包允许你扫描任何具有MRZ格式的文档。
支持的格式
- T1 (官方旅行证件)
- T2 (官方旅行证件)
- T3 (机器可读护照)
- MRVA (机器可读签证文件)
- MVRB (机器可读签证文件)
如果你希望在此包中看到任何功能,请随时提出建议。🎉
注意事项
为了使用此包,你需要使用真实设备而不是模拟器。
这是一个适用于iOS和Android的Flutter插件。
Android | iOS | |
---|---|---|
支持 | SDK 21+ | iOS 10+* |
在使用包之前,需要添加相机权限
对于Android
在AndroidManifest.xml
文件中添加以下代码:
<uses-permission android:name="android.permission.CAMERA" />
对于iOS
在Info.plist
文件中添加以下代码:
<key>NSCameraUsageDescription</key>
<string>允许相机扫描MRZ</string>
导入包并在你的Flutter应用中使用它:
import 'package:mrz_scanner/mrz_scanner.dart';
简单使用该包的示例,完整的代码可以在示例项目中查看 这里。
MRZScanner(
onSuccess: (mrzResult) {
print(mrzResult.givenNames);
},
),
视频样例
大大的感谢
特别感谢 Anna Domashych 提供的 mrz_parser。
许可证
mrz_scanner
是在 MIT 许可下发布的。详情请参阅 LICENSE
文件。
完整示例代码
以下是完整的示例代码,展示了如何在Flutter应用中使用mrz_scanner
插件。
import 'package:flutter/material.dart';
import 'package:mrz_scanner/mrz_scanner.dart';
Future<void> main() async {
runApp(MyApp());
}
class MyApp extends StatefulWidget {
[@override](/user/override)
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
final MRZController controller = MRZController();
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Builder(builder: (context) {
return MRZScanner(
controller: controller,
onSuccess: (mrzResult) async {
await showDialog(
context: context,
builder: (context) => Dialog(
insetPadding: const EdgeInsets.symmetric(horizontal: 10),
child: SingleChildScrollView(
padding: const EdgeInsets.all(10),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
TextButton(
onPressed: () {
Navigator.pop(context);
controller.currentState?.resetScanning();
},
child: const Text('重置扫描'),
),
Text('姓名: ${mrzResult.givenNames}'),
Text('性别: ${mrzResult.sex.name}'),
Text('国家代码: ${mrzResult.countryCode}'),
Text('出生日期: ${mrzResult.birthDate}'),
Text('到期日期: ${mrzResult.expiryDate}'),
Text('证件号码: ${mrzResult.documentNumber}'),
],
),
),
),
);
},
);
}),
);
}
}
更多关于Flutter机器可读区域(MRZ)扫描插件mrz_scanner的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复