parse method
MrzResult?
parse(
- OcrData ocrData, {
- MrzValidationSettings settings = const MrzValidationSettings(),
Implementation
MrzResult? parse(OcrData ocrData, {MrzValidationSettings settings = const MrzValidationSettings()}) {
final potentialLines = _findPotentialMrzLines(ocrData.lines.map((e) => e.text).toList());
if (potentialLines == null) return null;
final firstCleanedLength = potentialLines.first.toUpperCase().replaceAll(RegExp(r'[^A-Z0-9<]'), '').length;
int targetLength;
if ((firstCleanedLength - 44).abs() <= 5) targetLength = 44;
else if ((firstCleanedLength - 36).abs() <= 5) targetLength = 36;
else if ((firstCleanedLength - 30).abs() <= 5) targetLength = 30;
else return null;
final normalizedLines = potentialLines.map((line) => normalizeLine(line, targetLength)).toList();
final candidate = MrzCandidate(lines: normalizedLines);
_aggregator.add(candidate);
return _aggregator.buildResult(settings);
}