本教程展示如何从图像中提取所有条码数据使用c# . net中的LEADTOOLS云服务核心控制台应用程序。
概述 | |
---|---|
总结 | 本教程介绍了如何制作ExtractAllBarcodes 请求和处理结果使用c# . net中的LEADTOOLS云服务核心控制台应用程序。 |
完成时间 | 30分钟 |
项目 | 下载教程项目(2 KB) |
平台 | LEADTOOLS云服务API |
IDE | Visual Studio 2019 |
语言 | c# . net核心 |
开发许可 | 下载LEADTOOLS |
试试用另一种语言 |
一定要检查以下网站信息LEADTOOLS云服务API。
LEADTOOLS服务计划发行:
服务计划 | 描述 |
---|---|
免费试用 | 免费评估 |
页面包 | 预付页面包 |
订阅 | 每月预付处理页面 |
进一步探索产品,请参考LEADTOOLS托管云服务的定价信息>服务计划方面。
定价细节,请参考//m.ahtuanjie.com/sdk/188金宝搏的网址客服products/hosted-services定价>页面包和订阅。
获得必要的应用程序ID和密码,请参考创建一个帐户与LEADTOOLS承载云服务和应用程序。
在Visual Studio中,创建一个新的c# . net核心控制台项目,并添加以下要求NuGet包:
Newtonsoft.Json
与项目创建、添加引用,许可,可以开始编码。
在解决方案资源管理器,打开Program.cs
。添加以下语句的使用
块顶部。
/ /使用块
使用系统;
使用包含;
使用System.Threading.Tasks;
使用System.Net;
使用System.Net.Http;
使用System.Net.Http.Headers;
使用先;
使用Newtonsoft.Json.Linq;
添加类的字符串变量hostedServicesUrl
和一个叫异步任务ExtractAllBarcodes ()
。这发出了一个ExtractAllBarcodes
请求LEADTOOLS云服务,如果成功将返回一个唯一标识符(GUID),然后使用该GUID将一个查询。
私人字符串hostedServicesUrl =“https://azure.leadtools.com/api/”;
公共异步任务ExtractAllBarcodes ()
{
var客户= InitClient ();
/ /第一页文件中标记进行处理
int珍宝= 1;
/ /发送值将表明服务的所有页面文件应该被处理。
intlastPage = 1;
/ /如果使用URL到文件
字符串fileURL =“http://demo.leadtools.com/images/cloud_samples/barcode_sample.tif”;
字符串recognitionUrl =字符串.Format (“识别/ ExtractAllBarcodes ?”珍宝= {0}&lastPage = {1} &fileurl = {2} "、珍宝、lastPage fileURL);
var结果=等待client.PostAsync (recognitionUrl,零);
/ *
/ /如果上传一个文件作为多部分内容:
HttpContent byteContent = new ByteArrayContent (File.ReadAllBytes(@“路径/ /文件"));
byteContent.Headers。ContentDisposition = new ContentDispositionHeaderValue(“格式”)
{
Name = "附件",
文件名= "文件名"
};
var formData = new MultipartFormDataContent ();
formData。Add (byteContent formFieldName);
字符串recognitionUrl = string.Format(“识别/ ExtractAllBarcodes吗?珍宝= {0}&lastPage ={1}”,珍宝,lastPage);
var =等待客户的结果。PostAsync (recognitionUrl formData);
formData.Dispose ();
* /
如果(结果。StatusCode = = HttpStatusCode.OK)
{
/ /返回的惟一ID服务
字符串id =等待result.Content.ReadAsStringAsync ();
Console.WriteLine (“惟一的ID返回的服务:“+ id);
等待查询(id、客户端);
}
其他的
Console.WriteLine (请求失败,以下响应:“+ result.StatusCode);
}
接下来,创建一个称为异步任务查询(字符串id, HttpClient客户端)
利用提供的GUIDExtractAllBarcodes
的任务。如果成功身体将包含所有请求的响应以JSON格式的数据。
私人异步任务查询(字符串客户机id, HttpClient)
{
字符串queryUrl =字符串.Format (“查询id = {0} ?”id.ToString ());
HttpResponseMessage结果;
字符串returnedContent;
JObject returnedData;
intfileStatus;
做
{
结果=等待client.PostAsync (queryUrl,零);
returnedContent =等待result.Content.ReadAsStringAsync ();
returnedData = JObject.Parse (returnedContent);
fileStatus = (int)returnedData.SelectToken (“FileStatus”);
/ /文件仍在处理,我们将睡眠当前线程前5秒再试一次。
等待Task.Delay (5000);
}而(100年fileStatus = = | | fileStatus = = 123);
Console.WriteLine (“文件处理完返回码:“+ returnedData.SelectToken (“FileStatus”));
如果((int)returnedData.SelectToken (“FileStatus”)! = 200)
返回;
ParseJson (returnedData.SelectToken (“RequestData”).ToString ());
}
然后,创建函数ParseJson (json字符串)
处理返回的JSON数据。
私人无效ParseJson (字符串json)
{
JArray数组= JArray.Parse (json);
foreach(varrequestReturn在数组)
{
Console.WriteLine (服务类型:“+ requestReturn.SelectToken (“ServiceType”));
var子数组= JArray.Parse (requestReturn.SelectToken (“数据”).ToString ());
Console.WriteLine (返回的数据:“);
Console.WriteLine ();
foreach(varobj在子数组)
{
varsubObj = (JObject obj);
foreach(var条目在subObj)
Console.WriteLine (entry.Key.ToString () +”:“+ entry.Value.ToString ());
Console.WriteLine (“- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -”);
}
}
}
最后,创建函数InitClient ()
创建一个客户端连接请求GUID和JSON数据。
私人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。授权=新AuthenticationHeaderValue (“基本”,authHeaderValue);
返回客户端;
}
为了测试运行这段代码一定要添加.GetResults .GetAwaiter ExtractAllBarcodes () () ();
到静态孔隙主要
部分。
按运行项目F5,或通过选择调试- >开始调试。
如果步骤正确,显示控制台和应用程序从返回的JSON数据提取的条形码信息。
本教程展示了如何通过LEADTOOLS提取检查信息云服务API。