handleOcr function
void
handleOcr(
- OcrData ocr,
- void onFoundMrz(
- OcrMrzResult res
- OcrMrzSetting? setting,
- List<
NameValidationData> ? nameValidations, - void mrzLogger(
- OcrMrzLog log
- List<
DocumentType> filterTypes, { - bool tryPassportFirst = true,
Implementation
void handleOcr(
OcrData ocr,
void Function(OcrMrzResult res) onFoundMrz,
OcrMrzSetting? setting,
List<NameValidationData>? nameValidations,
void Function(OcrMrzLog log)? mrzLogger,
List<DocumentType> filterTypes, {
bool tryPassportFirst = true,
}) {
try {
Map<String, dynamic>? result;
if (filterTypes.isEmpty || filterTypes.contains(DocumentType.passport)) {
result = tryParseMrzFromOcrLines(ocr, setting ?? OcrMrzSetting(), nameValidations, mrzLogger);
}
if (filterTypes.isEmpty || filterTypes.contains(DocumentType.visa)) {
result ??= tryParseVisaMrzFromOcrLines(ocr, setting ?? OcrMrzSetting(), nameValidations, mrzLogger);
}
if (filterTypes.isEmpty || filterTypes.contains(DocumentType.travelDocument1)) {
result ??= tryParseTD1FromOcrLines(ocr, setting ?? OcrMrzSetting(), nameValidations, mrzLogger);
}
if (filterTypes.isEmpty || filterTypes.contains(DocumentType.travelDocument2)) {
result ??= tryParseTD2FromOcrLines(ocr, setting ?? OcrMrzSetting(), nameValidations, mrzLogger);
}
if (result == null) {
return;
}
final parsed = OcrMrzResult.fromJson(result);
onFoundMrz(parsed);
} catch (e, st) {
log(e.toString());
log(st.toString());
}
}