That line exists several times in your code snippet... But anyway, it is inside a repeated sequence:
CroppedImage.Save(@"D:\OCRREAD\" + file_name);
getfile = @"D:\OCRREAD\" + file_name;
MODI.Document objModi = new MODI.Document();
objModi.Create(getfile);
Bitmap.Save
returns quickly, the operating system may still be writing the file to disk. And during that time, you cannot open the file for reading (which MODI.Document.Create must do).
How to solve that problem? By trying and re-trying after a short Thread.Sleep for a limited number of times.
By the way, you ought to do a lot of refactoring. There is a lot of copy-paste code, and the framework offers better options for some tasks.
E.g. define the path in one place
string OcrReadPath = @"D:\OCRREAD";
use System.IO.Path to handle it and add some more variables:
string getfile = System.IO.Path.Combine(OcrRead, file_name);
CroppedImage.Save(getfile);
and , of course, use better variable names (getfile looks more like an instruction, not like a variable).