Пример #1
0
        // sample entry
        static void Main()
        {
            #region setup ocr url and api key
            var strOcrBaseUri = ConfigurationManager.AppSettings["ocrBaseUri"];
            var dicHeader     = new Dictionary <string, string>
            {
                { "x-api-key", ConfigurationManager.AppSettings["x-api-key"] }
            };
            #endregion

            #region 1. upload file
            Console.WriteLine("-----------------------------------------------------------------------");
            Console.WriteLine("1. Upload file...");

            var formData = new FormData();
            formData.Append("method", EnumOcrFileMethod.Upload.ToString());
            formData.Append("file", Comm.GetFileData("example.jpg"), "example.jpg");

            HttpWebResponse         httpWebResponse;
            RestfulApiBasicResponse restfulApiResponse;
            try
            {
                httpWebResponse    = HttpMultiPartRequest.Post(strOcrBaseUri, dicHeader, formData);
                restfulApiResponse = RestfulApiResponseParser.Parse(httpWebResponse, EnumOcrFileMethod.Upload);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Console.ReadKey();
                return;
            }

            string strFileName;
            if (!HandleRestfulApiResponse(restfulApiResponse, EnumOcrFileMethod.Upload, out strFileName))
            {
                return;
            }
            #endregion

            #region 2. recognize the uploaded file
            Console.WriteLine("{0}-----------------------------------------------------------------------", Environment.NewLine);
            Console.WriteLine("2. Recognize the uploaded file...");

            formData.Clear();
            formData.Append("method", EnumOcrFileMethod.Recognize);
            formData.Append("file_name", strFileName);
            formData.Append("language", "eng");
            formData.Append("output_format", "UFormattedTxt");
            formData.Append("page_range", "1-10");

            try
            {
                httpWebResponse    = HttpMultiPartRequest.Post(strOcrBaseUri, dicHeader, formData);
                restfulApiResponse = RestfulApiResponseParser.Parse(httpWebResponse, EnumOcrFileMethod.Recognize) as RestfulApiRecognizationResponse;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Console.ReadKey();
                return;
            }

            if (!HandleRestfulApiResponse(restfulApiResponse, EnumOcrFileMethod.Recognize, out strFileName))
            {
                return;
            }
            #endregion

            #region 3. download the recognized file
            Console.WriteLine("{0}-----------------------------------------------------------------------", Environment.NewLine);
            Console.WriteLine("3. Download the recognized file...");

            formData.Clear();
            formData.Append("method", EnumOcrFileMethod.Download);
            formData.Append("file_name", strFileName);

            try
            {
                httpWebResponse    = HttpMultiPartRequest.Post(strOcrBaseUri, dicHeader, formData);
                restfulApiResponse = RestfulApiResponseParser.Parse(httpWebResponse, EnumOcrFileMethod.Download) as RestfulApiDownloadResponse;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Console.ReadKey();
                return;
            }

            if (!HandleRestfulApiResponse(restfulApiResponse, EnumOcrFileMethod.Download, out strFileName))
            {
                return;
            }
            #endregion

            Console.ReadKey();
        }