You can use this function for thumbnails and others to use this function for the original aspect ratio. You can return Bitmap but delete (Image) before return function and before function name.
public static Image ResizeImageOriginalRatio(Image image, int width, int height)
int oraginal_Height = image.Height;
int oraginal_width = ...
If you are interested in a commercial solution, you can check out the LEADTOOLS OCR SDK. There is no machine training needed and it can run straight out of the box. Disclaimer: I am an employee of this company.
OCR can be performed on an image with only a few lines of code:
OcrEngine ocrEngine = OcrEngineManager.createEngine(OcrEngineType.LEAD);