Per the Tesseract.Init() function with the following parameters;
public void Init(
string dataPath = null,
string language = null,
OcrEngineMode oem = OcrEngineMode.OEM_DEFAULT,
string configs = null,
string varsVec = null,
string varsValues = null,
bool setOnlyNonDebugParams = false,
bool checkLanguage = true
I was trying to change the dataPath but despite trying multiple variations, I was unable to change it and it kept defaulting to the Tesseract installation directory “C:\Program Files\Tesseract-OCR”.
The value is actually set as an environment variable TESSDATA_PREFIX. So what I did was set it within my program;
string ev = Environment.GetEnvironmentVariable("TESSDATA_PREFIX");
string dir = Directory.GetCurrentDirectory() + @"\tessdata";
Environment.SetEnvironmentVariable("TESSDATA_PREFIX", dir, EnvironmentVariableTarget.Process);
EnvironmentVariableTarget.Process seem to work fine for me but you can try switching to Machine or User if it doesn’t work.