Leadtools has NuGet packages for Xamarin for reading MICR text from checks. (www.leadtools.com/sdk/ocr/micr). We support both MICR text recognition, as well as parsing the routing number, account number, and other information from the recognized text string. We even have a demo created specifically for reading checks in our "sample projects for Xamarin" package (LEADTOOLS Xamarin Projects 21\Examples\MicrDemo). As a disclaimer, I work for this vendor.
Here’s the minimal code you should need to recognize the text and parse the values:
using (RasterCodecs codecs = new RasterCodecs()){
IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD);
ocrEngine.Startup(codecs, null, null, null);
BankCheckReader micrReader = new BankCheckReader();
micrReader.OcrEngine = ocrEngine;
micrReader.MicrFontType = BankCheckMicrFontType.E13b;
using (RasterImage image = codecs.Load(filename)
micrReader.ProcessImage(image);
foreach (var value in micrReader.Results){
if (value.Key != "Signature")
Console.WriteLine($"{value.Key}: {value.Value.Text}\n");
}
ocrEngine.Shutdown();
}