Writing of the code to read barcode from URL asynchronously in VB.NET can be done by developers of any level using ByteScout Cloud API Server. Barcode reader API in VB.NET can be applied with ByteScout Cloud API Server. ByteScout Cloud API Server is the ready to deploy Web API Server that can be deployed in less than thirty minutes into your own in-house Windows server (no Internet connnection is required to process data!) or into private cloud server. Can store data on in-house local server based storage or in Amazon AWS S3 bucket. Processing data solely on the server using built-in ByteScout powered engine, no cloud services are used to process your data!.
VB.NET code snippet like this for ByteScout Cloud API Server works best when you need to quickly implement barcode reader API in your VB.NET application. Follow the tutorial and copy – paste code for VB.NET into your project’s code editor. Use of ByteScout Cloud API Server in VB.NET is also described in the documentation given along with the product.
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)
Imports System.IO
Imports System.Net
Imports System.Threading
Imports 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.
' Cloud API asynchronous "Barcode Reader" job example.
' Allows to avoid timeout errors when processing huge or scanned PDF documents.
Module Module1
' Direct URL of source file to search barcodes in.
Const SourceFileURL As String = "https://bytescout-com.s3.amazonaws.com/files/demo-files/cloud-api/barcode-reader/sample.pdf"
' Comma-separated list of barcode types to search.
Const BarcodeTypes As String = "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 Pages As String = ""
' (!) Make asynchronous job
Const Async As Boolean = True
Sub Main()
' Create standard .NET web client instance
Dim webClient As WebClient = New WebClient()
' Prepare URL for `Barcode Reader` API call
Dim query As String = Uri.EscapeUriString(String.Format(
"https://localhost/barcode/read/from/url?types={0}&pages={1}&url={2}&async={3}",
BarcodeTypes,
Pages,
SourceFileURL,
Async))
Try
' Execute request
Dim response As String = webClient.DownloadString(query)
' Parse JSON response
Dim json As JObject = JObject.Parse(response)
If json("error").ToObject(Of Boolean) = False Then
' Asynchronous job ID
Dim jobId As String = json("jobId").ToString()
' URL of generated JSON file with decoded barcodes that will available after the job completion
Dim resultFileUrl As String = json("url").ToString()
' Check the job status in a loop.
' If you don't want to pause the main thread you can rework the code
' to use a separate thread for the status checking and completion.
Do
Dim status As String = CheckJobStatus(jobId) ' Possible statuses: "working", "failed", "aborted", "success".
' Display timestamp and status (for demo purposes)
Console.WriteLine(DateTime.Now.ToLongTimeString() + ": " + status)
If status = "success" Then
' Download generated JSON results file as string
Dim jsonFileString As String = webClient.DownloadString(resultFileUrl)
Dim jsonFoundBarcodes As JArray = JArray.Parse(jsonFileString)
' Display found barcodes in console
For Each token As JToken In jsonFoundBarcodes
Console.WriteLine("Found barcode:")
Console.WriteLine(" Type: " + token("TypeName").ToString())
Console.WriteLine(" Value: " + token("Value").ToString())
Console.WriteLine(" Document Page Index: " + token("Page").ToString())
Console.WriteLine(" Rectangle: " + token("Rect").ToString())
Console.WriteLine(" Confidence: " + token("Confidence").ToString())
Console.WriteLine()
Next
Exit Do
ElseIf status = "working" Then
' Pause for a few seconds
Thread.Sleep(3000)
Else
Console.WriteLine(status)
Exit Do
End If
Loop
Else
Console.WriteLine(json("message").ToString())
End If
Catch ex As WebException
Console.WriteLine(ex.ToString())
End Try
webClient.Dispose()
Console.WriteLine()
Console.WriteLine("Press any key...")
Console.ReadKey()
End Sub
Function CheckJobStatus(jobId As String) As String
Using webClient As WebClient = New WebClient()
Dim url As String = "https://localhost/job/check?jobid=" + jobId
Dim response As String = webClient.DownloadString(url)
Dim json As JObject = JObject.Parse(response)
return Convert.ToString(json("status"))
End Using
End Function
End Module
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