/// <summary> /// Call Evaluate Image, to determine whether the image violates any policy /// </summary> /// <param name="imageContent">Image Content</param> /// <returns>Evaluate result</returns> public async Task<ExtractTextResult> ExtractTextAsync(ImageModeratableContent imageContent, string language = "eng", bool cacheContent = false) { using (var client = new HttpClient()) { client.BaseAddress = new Uri(this.options.HostUrl); //string urlPath = $"{this.options.ImageServicePathV2}{string.Format("/Image/DetectTextEnhanced{0}", cacheContent ? "?cacheImage=true" : string.Empty)}{"&language="}{language}"; //string urlPath = $"{this.options.ImageServicePathV2}{string.Format("/OCR{0}", cacheContent ? "?cacheImage=true" : string.Empty)}{"&language="}{language}"; //string urlPath = $"{this.options.ImageServicePathV2}{string.Format("/OCR?language={0}{1}", language, cacheContent ? "&cacheImage=true" : string.Empty)}";//{"&language="}{language} string urlPath = string.Format("{0}/OCR?language={1}{2}", this.options.ImageServicePathV2, language, cacheContent ? "&cacheImage=true" : string.Empty); HttpRequestMessage message = new HttpRequestMessage(HttpMethod.Post, urlPath); ServiceHelpers.Addkey(message, this.options.ImageServiceKey); message.Headers.Add("language", "eng"); //message.Headers.Add("x-contentsources", "3061"); ExtractTextRequest request = new ExtractTextRequest(imageContent); if (imageContent.BinaryContent == null) { message.Content = new StringContent( JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json"); } else { message.Content = new StreamContent(imageContent.BinaryContent.Stream); message.Content.Headers.ContentType = MediaTypeHeaderValue.Parse(imageContent.BinaryContent.ContentType); } return await ServiceHelpers.SendRequest<ExtractTextResult>(client, message); } }
/// <summary> /// Call ExtractText method to extract the text in an image through the use of OCR /// </summary> /// <param name="imageContent">Image to run Extraction on</param> /// <param name="language">Language</param> /// <returns>Extraction result</returns> public async Task<ExtractTextResult> ExtractTextAsync(ImageModeratableContent imageContent, string language = "eng") { using (var client = new HttpClient()) { client.BaseAddress = new Uri(this.options.HostUrl); string urlPath = string.Format("{0}/Image/ExtractText?language={1}", this.options.ImageServicePath, language); HttpRequestMessage message = new HttpRequestMessage(HttpMethod.Post, urlPath); ServiceHelpers.Addkey(message, this.options.ImageServiceKey); ExtractTextRequest request = new ExtractTextRequest(imageContent); if (imageContent.BinaryContent == null) { message.Content = new StringContent( JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json"); } else { message.Content = new StreamContent(imageContent.BinaryContent.Stream); message.Content.Headers.ContentType = MediaTypeHeaderValue.Parse(imageContent.BinaryContent.ContentType); } return await ServiceHelpers.SendRequest<ExtractTextResult>(client, message); } }