ExtractAllBarcodes - c# .NET 6

本教程展示如何使用c# . net 6控制台应用程序中的LEADTOOLS云服务从图像中提取所有条形码数据。

概述
总结 本教程介绍如何制作ExtractAllBarcodes在c# . net 6控制台应用程序中使用LEADTOOLS云服务请求并处理结果。
完成时间 30分钟
项目 下载教程项目(2kb)
平台 LEADTOOLS云服务API
IDE Visual Studio 2022
语言 c# .NET 6或更高版本
开发许可 下载LEADTOOLS
用另一种语言试试

所需的知识

请务必查看以下站点,以获得有关LEADTOOLS云服务API的信息。

申请编号及密码

创建帐户使用LEADTOOLS托管云服务来获得两者应用程序ID而且密码字符串。

服务计划

LEADTOOLS服务计划提供:

服务计划 描述
免费试用 免费评估
页面包 预付费页包
订阅 预付月处理页

要进一步了解这些产品,请参阅托管云服务页面。

如需获取应用ID和应用密码,请参见使用LEADTOOLS托管云服务创建帐户和应用程序

创建项目并添加LEADTOOLS引用

在Visual Studio中,创建一个新的c# .NET 6控制台项目,并添加以下所需的NuGet包:

添加ExtractAllBarcodes代码

随着项目的创建、引用的添加和许可的设置,编码就可以开始了。

解决方案资源管理器,打开Program.cs.将下列语句添加到使用顶部的块。

c#
//在顶部使用块使用系统;使用包含;使用System.Threading.Tasks;使用System.Net;使用System.Net.Http;使用System.Net.Http.Headers;使用先;使用Newtonsoft.Json.Linq;

添加类字符串变量hostedServicesUrl和async Task调用ExtractAllBarcodes ().这将发送一个ExtractAllBarcodes请求到LEADTOOLS云服务,如果成功,将返回唯一标识符(GUID),然后使用该GUID进行查询。

c#
私人静态字符串hostedServicesUrl =“https://azure.leadtools.com/api/”公共静态async Task ExtractAllBarcodes()var客户端= InitClient();//文件中要标记进行处理的第一页intfirstPage = 1;//发送一个-1的值将指示服务应该处理文件中的所有页面。intlastPage = -1;//如果使用URL到文件字符串fileURL =“http://demo.leadtools.com/images/cloud_samples/barcode_sample.tif”字符串recognitionUrl =字符串.Format (“认可/ ExtractAllBarcodes吗?珍宝= {0}&lastPage = {1} &fileurl = {2} ", firstPage, lastPage, fileURL);var结果=等待客户端。PostAsync (recognitionUrl);/*//如果上传文件为多部分内容:HttpContent byteccontent = new ByteArrayContent(file . readallbytes (@"path/to/file"));byteccontent . headers . contentdisposition = new ContentDispositionHeaderValue("form-data")Name = "attachment",文件名= "file-name"};var formData = new MultipartFormDataContent();formData。Add (byteContent formFieldName);string recognitionUrl = string. format ("Recognition/ExtractAllBarcodes?firstPage={0}&lastPage={1}", firstPage, lastPage);Var结果=等待客户。PostAsync (recognitionUrlformData);formData.Dispose ();* /如果(结果。StatusCode == HttpStatusCode.OK)//服务返回的唯一ID字符串id = await result.Content.ReadAsStringAsync();控制台。WriteLine (服务返回的唯一ID:+ id);查询(id,客户端);其他的控制台。WriteLine ("请求失败,响应如下"+ result.StatusCode);

接下来,创建一个名为查询(字符串id, HttpClient)控件提供的GUIDExtractAllBarcodes的任务。如果成功,响应体将包含JSON格式的所有请求数据。

c#
私人静态async任务查询(字符串HttpClient客户端字符串queryUrl =字符串.Format (“查询?id = {0} "id.ToString ());HttpResponseMessage结果;字符串returnedContent;JObject returnedData;intfileStatus;结果=等待客户端。PostAsync (queryUrl);returnedContent = await result.Content.ReadAsStringAsync();返回数据= JObject.Parse(返回内容);fileStatus = (int) returnedData。SelectToken (“FileStatus”) !;//文件仍在处理中——在再次尝试之前,我们将使当前线程休眠5秒。等待Task.Delay (5000);(|| fileStatus == 123);控制台。WriteLine ("文件已完成处理,返回代码:"+ returnedData。SelectToken (“FileStatus”));如果((int) returnedData。SelectToken (“FileStatus”) !! = 200)返回ParseJson (returnedData。SelectToken (“RequestData”) ! .ToString ());

然后,创建函数ParseJson (json字符串)来处理返回的JSON数据。

c#
私人静态无效ParseJson (字符串json)JArray array = jray . parse (json);foreachvarrequestReturn数组)控制台。WriteLine (“服务类型:”+ requestReturn。SelectToken (“ServiceType”));varsubArray = JArray.Parse(requestReturn.SelectToken(“数据”) ! .ToString ());控制台。WriteLine (返回的数据:“);Console.WriteLine ();foreachvarobj子数组)varsubObj = (JObject)obj;foreachvar条目subObj)Console.WriteLine (entry.Key.ToString () +”:“+ entry.Value.ToString ());控制台。WriteLine ("------------------------------------");

最后,创建函数InitClient ()来创建一个客户端连接来请求GUID和JSON数据。替换为应用程序ID和替换为应用程序密码,请务必将您的申请编号及密码相应的行动。

c#
私人静态HttpClient InitClient ()字符串AppId =“替换为应用程序ID”字符串密码=“替换为应用程序密码”HttpClient客户端=HttpClient ();客户端。BaseAddress =Uri (hostedServicesUrl);client.DefaultRequestHeaders.Accept.Clear ();client.DefaultRequestHeaders.Accept.Add (MediaTypeWithQualityHeaderValue (“application / json”));字符串authData =字符串.Format (“{0}:{1}”, AppId,密码);字符串authHeaderValue = Convert.ToBase64String(Encoding.UTF8.GetBytes(authData));client.DefaultRequestHeaders.Authorization =AuthenticationHeaderValue (“基本”, authHeaderValue);返回客户端;

运行项目

为了测试运行此代码,请务必添加.GetResults .GetAwaiter ExtractAllBarcodes () () ();静空部分。

按下运行项目F5,或选择Debug ->开始调试

如果正确地执行了这些步骤,将出现控制台,应用程序将显示从返回的JSON数据中提取的条形码信息。

提取的条码信息

总结

本教程展示了如何通过LEADTOOLS云服务API提取检查信息。

另请参阅

iOS
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2023领德科技有限公司版权所有。