These source code samples are assembled by their programming language and functions they use. ByteScout Premium Suite helps with parallel barcode decoding with barcode reader sdk in VB.NET. ByteScout Premium Suite is the bundle that includes twelve SDK products from ByteScout including tools and components for PDF, barcodes, spreadsheets, screen video recording.
If you want to quickly learn then these fast application programming interfaces of ByteScout Premium Suite for VB.NET plus the guideline and the VB.NET code below will help you quickly learn parallel barcode decoding with barcode reader sdk. If you want to implement this functionality, you should copy and paste code below into your app using code editor. Then compile and run your application. These VB.NET sample examples can be used in one or many applications.
ByteScout Premium Suite free trial version is available for download from our website. Free trial also includes programming tutorials along with source code samples.
On-demand (REST Web API) version:
Web API (on-demand version)
On-premise offline SDK for Windows:
60 Day Free Trial (on-premise)
Imports Bytescout.BarCodeReader
Imports System.Threading
Module Module1
Const InputFile As String = ".\example.pdf"
' Limit to 4 threads in queue.
' Set this value to number of your processor cores for max performance.
Dim ThreadLimiter As Semaphore = New Semaphore(4, 4)
<MTAThread()> Sub Main()
Const numberOfRuns As Integer = 10
Dim doneEvents(numberOfRuns - 1) As ManualResetEvent
For i As Integer = 0 To numberOfRuns - 1
' Wait for the queue
ThreadLimiter.WaitOne()
doneEvents(i) = New ManualResetEvent(False)
ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf ThreadProc), New Object() {i, doneEvents(i)})
Next
WaitHandle.WaitAll(doneEvents)
Console.WriteLine("All threads done.")
Console.WriteLine()
Console.WriteLine("Press any key to exit...")
Console.ReadKey()
End Sub
Sub ThreadProc(ByVal stateInfo As Object)
Dim threadIndex As Integer = stateInfo(0)
Dim waitEvent As ManualResetEvent = stateInfo(1)
Console.WriteLine("Thread #" & threadIndex & " started...")
Try
Dim reader As New Reader()
reader.RegistrationName = "demo"
reader.RegistrationKey = "demo"
' Set barcode type to find
reader.BarcodeTypesToFind.Code128 = True
' -----------------------------------------------------------------------
' NOTE: We can read barcodes from specific page to increase performance .
' For sample please refer to "Decoding barcodes from PDF by pages" program.
' -----------------------------------------------------------------------
' Read barcodes
Dim barcodes As FoundBarcode() = reader.ReadFrom(InputFile)
' Cleanup
reader.Dispose()
Console.WriteLine("Thread #" & threadIndex & " finished with " & barcodes.Length & " barcodes found.")
Catch ex As Exception
Console.WriteLine("Thread #" & threadIndex & " failed with exception:\r\n" & ex.Message)
Finally
' Signal the thread is finished
waitEvent.Set()
' Release semaphore
ThreadLimiter.Release()
End Try
End Sub
End Module
60 Day Free Trial or Visit ByteScout Premium Suite Home Page
Explore ByteScout Premium Suite Documentation
Explore Samples
Sign Up for ByteScout Premium Suite Online Training
Get Your API Key
Explore Web API Docs
Explore Web API Samples
60 Day Free Trial or Visit ByteScout Premium Suite Home Page
Explore ByteScout Premium Suite Documentation
Explore Samples
Sign Up for ByteScout Premium Suite Online Training
Get Your API Key
Explore Web API Docs
Explore Web API Samples
also available as: