We regularly create and update our sample code library so you may quickly learn barcode reader API and the step-by-step process in C#. Barcode reader API in C# can be applied with ByteScout Cloud API Server. ByteScout Cloud API Server is API server that is ready to use and can be installed and deployed in less than 30 minutes on your own Windows server or server in a cloud. It can save data and files on your local server-based file storage or in Amazon AWS S3 storage. Data is processed solely on the API server and is powered by ByteScout engine, no cloud services or Internet connection is required for data processing..
C# code snippet like this for ByteScout Cloud API Server works best when you need to quickly implement barcode reader API in your C# application. This sample code in C# is all you need. Just copy-paste it to the code editor, then add a reference to ByteScout Cloud API Server and you are ready to try it! Writing C# application mostly includes various stages of the software development so even if the functionality works please check it with your data and the production environment.
Free! Free! Free! ByteScout free trial version is available for FREE download from our website. Programming tutorials along with source code samples are assembled.
On-demand (REST Web API) version:
Web API (on-demand version)
On-premise offline SDK for Windows:
60 Day Free Trial (on-premise)
using System;
using System.IO;
using System.Net;
using Newtonsoft.Json.Linq;
// Please NOTE: In this sample we're assuming Cloud Api Server is hosted at "https://localhost".
// If it's not then please replace this with with your hosting url.
namespace ByteScoutWebApiExample
{
class Program
{
// Source file name
const string SourceFile = @".\sample.pdf";
// Comma-separated list of barcode types to search.
// barcode types
const string BarcodeTypes = "Code128,Code39,Interleaved2of5,EAN13";
// Comma-separated list of page indices (or ranges) to process. Leave empty for all pages. Example: '0,2-5,7-'.
const string Pages = "";
static void Main(string[] args)
{
// Create standard .NET web client instance
WebClient webClient = new WebClient();
// 1. RETRIEVE THE PRESIGNED URL TO UPLOAD THE FILE.
// * If you already have a direct file URL, skip to the step 3.
// Prepare URL for `Get Presigned URL` API call
string query = Uri.EscapeUriString(string.Format(
"https://localhost/file/upload/get-presigned-url?contenttype=application/octet-stream&name={0}",
Path.GetFileName(SourceFile)));
try
{
// Execute request
string response = webClient.DownloadString(query);
// Parse JSON response
JObject json = JObject.Parse(response);
if (json["error"].ToObject<bool>() == false)
{
// Get URL to use for the file upload
string uploadUrl = json["presignedUrl"].ToString();
// Get URL of uploaded file to use with later API calls
string uploadedFileUrl = json["url"].ToString();
// 2. UPLOAD THE FILE TO CLOUD.
webClient.Headers.Add("content-type", "application/octet-stream");
webClient.UploadFile(uploadUrl, "PUT", SourceFile); // You can use UploadData() instead if your file is byte[] or Stream
// 3. READ BARCODES FROM UPLOADED FILE
// Prepare URL for `Barcode Reader` API call
query = Uri.EscapeUriString(string.Format(
"https://localhost/barcode/read/from/url?types={0}&pages={1}&url={2}",
BarcodeTypes,
Pages,
uploadedFileUrl));
// Execute request
response = webClient.DownloadString(query);
// Parse JSON response
json = JObject.Parse(response);
if (json["error"].ToObject<bool>() == false)
{
// Display found barcodes in console
foreach (JToken token in json["barcodes"])
{
Console.WriteLine("Found barcode:");
Console.WriteLine(" Type: " + token["TypeName"]);
Console.WriteLine(" Value: " + token["Value"]);
Console.WriteLine(" Document Page Index: " + token["Page"]);
Console.WriteLine(" Rectangle: " + token["Rect"]);
Console.WriteLine(" Confidence: " + token["Confidence"]);
Console.WriteLine();
}
}
else
{
// Display service reported error
Console.WriteLine(json["message"].ToString());
}
}
else
{
// Display service reported error
Console.WriteLine(json["message"].ToString());
}
}
catch (WebException e)
{
// Display request error
Console.WriteLine(e.ToString());
}
webClient.Dispose();
Console.WriteLine();
Console.WriteLine("Press any key...");
Console.ReadKey();
}
}
}
60 Day Free Trial or Visit ByteScout Cloud API Server Home Page
Explore ByteScout Cloud API Server Documentation
Explore Samples
Sign Up for ByteScout Cloud API Server Online Training
Get Your API Key
Explore Web API Docs
Explore Web API Samples
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Newtonsoft.Json" version="10.0.3" targetFramework="net40" />
</packages>
60 Day Free Trial or Visit ByteScout Cloud API Server Home Page
Explore ByteScout Cloud API Server Documentation
Explore Samples
Sign Up for ByteScout Cloud API Server Online Training
Get Your API Key
Explore Web API Docs
Explore Web API Samples
60 Day Free Trial or Visit ByteScout Cloud API Server Home Page
Explore ByteScout Cloud API Server Documentation
Explore Samples
Sign Up for ByteScout Cloud API Server Online Training
Get Your API Key
Explore Web API Docs
Explore Web API Samples