How to read barcode from URL asynchronously for barcode reader API in VB.NET with PDF.co Web API

How to read barcode from URL asynchronously in VB.NET with easy ByteScout code samples to make barcode reader API. Step-by-step tutorial

On this page you will learn from code samples for programming in VB.NET. PDF.co Web API was made to help with barcode reader API in VB.NET. PDF.co Web API is the Rest API that provides set of data extraction functions, tools for documents manipulation, splitting and merging of pdf files. Includes built-in OCR, images recognition, can generate and read barcodes from images, scans and pdf.

VB.NET code samples for VB.NET developers help to speed up the application’s code writing when using PDF.co Web API. Open your VB.NET project and simply copy & paste the code and then run your app! Code testing will allow the function to be tested and work properly with your data.

PDF.co Web API – free trial version is on available our website. Also, there are other code samples to help you with your VB.NET application included into trial version.

Try PDF.co Web API today:  60 Day Free Trial (on-premise) or  Web API (on-demand version)

Module1.vb
      
Imports System.IO Imports System.Net Imports System.Threading Imports Newtonsoft.Json.Linq ' Cloud API asynchronous "Barcode Reader" job example. ' Allows to avoid timeout errors when processing huge or scanned PDF documents. Module Module1 ' The authentication key (API Key). ' Get your own by registering at https://app.pdf.co/documentation/api Const API_KEY As String = "***********************************" ' 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. ' See valid barcode types in the documentation https://app.pdf.co/documentation/api/1.0/barcode/read_from_url.html 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() ' Set API Key webClient.Headers.Add("x-api-key", API_KEY) ' Prepare URL for `Barcode Reader` API call Dim query As String = Uri.EscapeUriString(String.Format( "https://api.pdf.co/v1/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() ' Set API Key webClient.Headers.Add("x-api-key", API_KEY) Dim url As String = "https://api.pdf.co/v1/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

Try PDF.co Web API today:  60 Day Free Trial (on-premise) or  Web API (on-demand version)

packages.config
      
<?xml version="1.0" encoding="utf-8"?> <packages> <package id="Newtonsoft.Json" version="10.0.3" targetFramework="net40" /> </packages>

Try PDF.co Web API today:  60 Day Free Trial (on-premise) or  Web API (on-demand version)

VIDEO

ON-PREMISE VERSION INFORMATION

Get 60 Day Free Trial or Visit PDF.co Web API Home Page

Explore PDF.co Web API Documentation

Get PDF.co Web API Free Training

WEB API

Get Your Free API Key

Explore Web API Documentation

Related Samples: