VintaSoft Barcode .NET SDK 14.3: Documentation for .NET developer
Vintasoft.Barcode Namespace / BarcodeReader Class / ReadBarcodes Methods / ReadBarcodes(Stream) Method
Syntax Example Requirements SeeAlso
In This Topic
    ReadBarcodes(Stream) Method (BarcodeReader)
    In This Topic
    Reads barcodes from the specified stream.
    Syntax
    'Declaration
    
    Public Overloads Function ReadBarcodes( _
    ByVal stream
    The stream that contains image.
    As System.IO.Stream _
    ) As IBarcodeInfo[]
    public IBarcodeInfo[] ReadBarcodes(
    System.IO.Stream stream
    )
    public: IBarcodeInfo*[] ReadBarcodes(
    System.IO.Stream* stream
    )
    public:
    IBarcodeInfo^[] ReadBarcodes(
    System.IO.Stream^ stream
    )

    Parameters

    stream
    The stream that contains image.

    Return Value

    An array of IBarcodeInfo objects which contains information about recognized barcodes.
    Example

    Here is a simple example that demonstrates how to detect barcodes in an image.

       
    Imports System.IO   
    Imports Vintasoft.Barcode   
    Imports Vintasoft.Barcode.SymbologySubsets   
       
    ''' <summary>
    ''' Test that shows how read barcodes from image,
    ''' which is stored in stream, using the BarcodeReader class.
    ''' </summary>
    Class ReadBarcodesFromStreamExample   
        ''' <summary>
        ''' Runs the test.
        ''' </summary>
        Public Shared Sub Test()   
            ' open the stream
            Using barcodeImageStream As Stream = New FileStream("test1.jpg", FileMode.Open, FileAccess.Read)   
                ' read barcodes from image, which is stored in stream
                ReadBarcodes(barcodeImageStream)   
            End Using   
        End Sub   
       
        ''' <summary>
        ''' Reads barcodes from image, which is stored in stream.
        ''' </summary>
        Private Shared Sub ReadBarcodes(stream As Stream)   
            ' create barcode reader
            Using reader As New BarcodeReader()   
                ' specify that reader must search for Code39, Code39Extended,
                ' Code128, SSCC18 and DataMatrix barcodes
                reader.Settings.ScanBarcodeTypes = BarcodeType.Code39 Or BarcodeType.Code128 Or BarcodeType.DataMatrix   
                reader.Settings.ScanBarcodeSubsets.Add(BarcodeSymbologySubsets.Code39Extended)   
                reader.Settings.ScanBarcodeSubsets.Add(BarcodeSymbologySubsets.SSCC18)   
       
                ' read barcodes from image stored in stream
                Dim infos As IBarcodeInfo() = reader.ReadBarcodes(stream)   
       
                ' show barcode recognition results
       
                Console.WriteLine(String.Format("Recognition time {0} ms.", reader.RecognizeTime.TotalMilliseconds))   
       
                If infos.Length = 0 Then   
                    Console.WriteLine("No barcodes found.")   
                Else   
                    Console.WriteLine(String.Format("{0} barcodes found:", infos.Length))   
                    Console.WriteLine()   
                    For i As Integer = 0 To infos.Length - 1   
                        Dim info As IBarcodeInfo = infos(i)   
                        Console.WriteLine(String.Format("[{0}:{1}]", i, info.BarcodeType))   
                        Console.WriteLine(String.Format("Value:      {0}", info.Value))   
                        Console.WriteLine(String.Format("Confidence: {0}%", Math.Round(info.Confidence)))   
                        Console.WriteLine(String.Format("Threshold:  {0}", info.Threshold))   
                        Console.WriteLine(String.Format("Region:     {0}", info.Region))   
                        Console.WriteLine()   
                    Next   
                End If   
            End Using   
        End Sub   
       
    End Class
    
    
    
    using System;
    using System.IO;
    using Vintasoft.Barcode;
    using Vintasoft.Barcode.SymbologySubsets;
    
    /// <summary>
    /// Test that shows how read barcodes from image,
    /// which is stored in stream, using the BarcodeReader class.
    /// </summary>
    class ReadBarcodesFromStreamExample
    {
        /// <summary>
        /// Runs the test.
        /// </summary>
        public static void Test()
        {
            // open the stream
            using (Stream barcodeImageStream = new FileStream("test1.jpg", FileMode.Open, FileAccess.Read))
            {
                // read barcodes from image, which is stored in stream
                ReadBarcodes(barcodeImageStream);
            }
        }
    
        /// <summary>
        /// Reads barcodes from image, which is stored in stream.
        /// </summary>
        static void ReadBarcodes(Stream stream)
        {
            // create barcode reader
            using (BarcodeReader reader = new BarcodeReader())
            {
                // specify that reader must search for Code39, Code39Extended,
                // Code128, SSCC18 and DataMatrix barcodes
                reader.Settings.ScanBarcodeTypes =
                    BarcodeType.Code39 |
                    BarcodeType.Code128 |
                    BarcodeType.DataMatrix;
                reader.Settings.ScanBarcodeSubsets.Add(BarcodeSymbologySubsets.Code39Extended);
                reader.Settings.ScanBarcodeSubsets.Add(BarcodeSymbologySubsets.SSCC18);
    
                // read barcodes from image stored in stream
                IBarcodeInfo[] infos = reader.ReadBarcodes(stream);
    
                // show barcode recognition results
    
                Console.WriteLine(string.Format("Recognition time {0} ms.",
                    reader.RecognizeTime.TotalMilliseconds));
    
                if (infos.Length == 0)
                {
                    Console.WriteLine("No barcodes found.");
                }
                else
                {
                    Console.WriteLine(string.Format("{0} barcodes found:", infos.Length));
                    Console.WriteLine();
                    for (int i = 0; i < infos.Length; i++)
                    {
                        IBarcodeInfo info = infos[i];
                        Console.WriteLine(string.Format("[{0}:{1}]", i, info.BarcodeType));
                        Console.WriteLine(string.Format("Value:      {0}", info.Value));
                        Console.WriteLine(string.Format("Confidence: {0}%", Math.Round(info.Confidence)));
                        Console.WriteLine(string.Format("Threshold:  {0}", info.Threshold));
                        Console.WriteLine(string.Format("Region:     {0}", info.Region));
                        Console.WriteLine();
                    }
                }
            }
        }
    
    }
    
    

    Requirements

    Target Platforms: .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5

    See Also