public bool ProcessMap(FilePath file, StringBuilder sb) { var tempPath = TempDirectoryPath + "temp.tiff"; using (var image = ImageProcessingHelper.GetCroppedMap(file)) image.Save(tempPath); OcrResult pendingMatchResult; try { pendingMatchResult = _engine.ProcessOcr(tempPath, OcrEngine.CandidateMaps); } catch (Exception) { return(false); } if (!pendingMatchResult.Results.Any() || !pendingMatchResult.Values.First().Trustable) { return(false); } if (OcrEngine.Debug) { var i = 0; var path = TempDirectoryPath + pendingMatchResult.Values.First().Value + ".tiff"; while (File.Exists(path)) { ++i; path = TempDirectoryPath + pendingMatchResult.Values.First().Value + i + ".tiff"; } if (OcrEngine.Delete) { File.Move(file, path); } else { File.Copy(file, path, true); } } if (!OcrEngine.Debug && OcrEngine.Delete) { file.DeleteIfExists(); } sb.Append(pendingMatchResult.Values.First().Value); return(pendingMatchResult.Values.First().FullyTrustable); }