Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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;
                    }
                });
            }
        }