public static string DoOCR(OCRSpaceLanguages language, Stream stream, string fileName) { string result = null; try { OCRSpace ocr = new OCRSpace(APIKeys.OCRSpaceAPIKey, language, false, language == OCRSpaceLanguages.eng); OCRSpaceResponse response = ocr.DoOCR(stream, fileName); if (response != null && !response.IsErroredOnProcessing && response.ParsedResults.Count > 0) { result = response.ParsedResults[0].ParsedText; if (!string.IsNullOrEmpty(result)) { result = result.ReplaceNewLines(); } } } catch (Exception e) { DebugHelper.WriteException(e); } return(result); }
private void StartOCR(Stream stream, string filename) { if (stream != null && stream.Length > 0 && !string.IsNullOrEmpty(filename)) { cbLanguages.Enabled = btnStartOCR.Enabled = txtResult.Enabled = false; pbProgress.Visible = true; TaskEx.Run(() => { try { OCRSpace ocr = new OCRSpace(Language, false); OCRSpaceResponse response = ocr.DoOCR(stream, filename); if (response != null && !response.IsErroredOnProcessing && response.ParsedResults.Count > 0) { Result = response.ParsedResults[0].ParsedText; } } catch (Exception e) { DebugHelper.WriteException(e); } }, () => { if (!IsDisposed) { UpdateControls(); cbLanguages.Enabled = btnStartOCR.Enabled = txtResult.Enabled = true; pbProgress.Visible = false; } }); } }