BarcodeQRCodeSDK 2.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package BarcodeQRCodeSDK --version 2.0.0                
NuGet\Install-Package BarcodeQRCodeSDK -Version 2.0.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="BarcodeQRCodeSDK" Version="2.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add BarcodeQRCodeSDK --version 2.0.0                
#r "nuget: BarcodeQRCodeSDK, 2.0.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install BarcodeQRCodeSDK as a Cake Addin
#addin nuget:?package=BarcodeQRCodeSDK&version=2.0.0

// Install BarcodeQRCodeSDK as a Cake Tool
#tool nuget:?package=BarcodeQRCodeSDK&version=2.0.0                

.NET 6 Barcode and QR Code Reader SDK

.NET Barcode and QR Code SDK

The .NET 6 Barcode and QR Code Reader SDK is a C++/CLI wrapper for Dynamsoft C++ Barcode Reader SDK.

SDK Version

v9.0

License Activation

Click here to get a valid license key.

Supported Platforms

  • Windows (x64)
  • Linux (x64)
  • macOS (x64)

Supported Barcode Symbologies

  • Linear Barcodes (1D)

    • Code 39 (including Code 39 Extended)
    • Code 93
    • Code 128
    • Codabar
    • Interleaved 2 of 5
    • EAN-8
    • EAN-13
    • UPC-A
    • UPC-E
    • Industrial 2 of 5
  • 2D Barcodes

    • QR Code (including Micro QR Code and Model 1)
    • Data Matrix
    • PDF417 (including Micro PDF417)
    • Aztec Code
    • MaxiCode (mode 2-5)
    • DotCode
  • Patch Code

  • GS1 Composite Code

  • GS1 DataBar

    • Omnidirectional,
    • Truncated, Stacked, Stacked
    • Omnidirectional, Limited,
    • Expanded, Expanded Stacked
  • Postal Codes

    • USPS Intelligent Mail
    • Postnet
    • Planet
    • Australian Post
    • UK Royal Mail

Download .NET 6 SDK

Methods

  • public static void InitLicense(string license)
  • public static BarcodeQRCodeReader Create()
  • public Result[]? DecodeFile(string filename)
  • public Result[]? DecodeBuffer(IntPtr pBufferBytes, int width, int height, int stride, ImagePixelFormat format)
  • public Result[]? DecodeBase64(string base64string)
  • public static string? GetVersionInfo()
  • public void SetParameters(string parameters)

Usage

  • Set the license key:

    BarcodeQRCodeReader.InitLicense("DLS2eyJoYW5kc2hha2VDb2RlIjoiMjAwMDAxLTE2NDk4Mjk3OTI2MzUiLCJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSIsInNlc3Npb25QYXNzd29yZCI6IndTcGR6Vm05WDJrcEQ5YUoifQ=="); 
    
  • Initialize the barcode and QR code reader object:

    BarcodeQRCodeReader? reader = BarcodeQRCodeReader.Create();
    
  • Decode barcode and QR code from an image file:

    Result[]? results = reader.DecodeFile(filename);
    
  • Decode barcode and QR code from a base64 string:

    Result[]? results = reader.DecodeBase64(base64string);
    
  • Decode barcode and QR code from a buffer:

    BitmapData bmpData = bitmap.LockBits(new Rectangle(0, 0, bitmap.Width, bitmap.Height),
    ImageLockMode.ReadWrite, bitmap.PixelFormat);
    
    BarcodeQRCodeReader.ImagePixelFormat format = BarcodeQRCodeReader.ImagePixelFormat.IPF_ARGB_8888;
    
    switch (bitmap.PixelFormat)
    {
        case PixelFormat.Format24bppRgb:
            format = BarcodeQRCodeReader.ImagePixelFormat.IPF_RGB_888;
            break;
        case PixelFormat.Format32bppArgb:
            format = BarcodeQRCodeReader.ImagePixelFormat.IPF_ARGB_8888;
            break;
        case PixelFormat.Format16bppRgb565:
            format = BarcodeQRCodeReader.ImagePixelFormat.IPF_RGB_565;
            break;
        case PixelFormat.Format16bppRgb555:
            format = BarcodeQRCodeReader.ImagePixelFormat.IPF_RGB_555;
            break;
        case PixelFormat.Format8bppIndexed:
            format = BarcodeQRCodeReader.ImagePixelFormat.IPF_GRAYSCALED;
            break;
    }
    
    Result[]? results = reader.DecodeBuffer(bmpData.Scan0, bitmap.Width, bitmap.Height, bmpData.Stride, format);
    bitmap.UnlockBits(bmpData);
    
  • Get SDK version number:

    string? version = BarcodeQRCodeReader.GetVersionInfo();
    
  • Customize parameters:

    // Refer to https://www.dynamsoft.com/barcode-reader/parameters/structure-and-interfaces-of-parameters.html?ver=latest
    reader.SetParameters("{\"Version\":\"3.0\", \"ImageParameter\":{\"Name\":\"IP1\", \"BarcodeFormatIds\":[\"BF_QR_CODE\", \"BF_ONED\"], \"ExpectedBarcodesCount\":20}}");
    

Quick Start

using System;
using System.Runtime.InteropServices;
using Dynamsoft;

namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            BarcodeQRCodeReader.InitLicense("DLS2eyJoYW5kc2hha2VDb2RlIjoiMjAwMDAxLTE2NDk4Mjk3OTI2MzUiLCJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSIsInNlc3Npb25QYXNzd29yZCI6IndTcGR6Vm05WDJrcEQ5YUoifQ=="); // Get a license key from https://www.dynamsoft.com/customer/license/trialLicense?product=dbr
            BarcodeQRCodeReader? reader = null;
            try {
                reader = BarcodeQRCodeReader.Create();
                Console.WriteLine("Please enter an image file: ");
                string? filename = Console.ReadLine();
                if (filename != null) {
                    Result[]? results = reader.DecodeFile(filename);
                    if (results != null) {
                        foreach (Result result in results) {
                            Console.WriteLine(result.Text);
                        }
                    }
                    else {
                        Console.WriteLine("No barcode found.");
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
            finally
            {
                if (reader != null)
                {
                    reader.Destroy();
                }
            }
        }
    }
}

Example

Building NuGet Package from Source Code

dotnet build --configuration Release
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net6.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.4.0 995 8/13/2024
2.3.7 4,655 3/6/2024
2.3.6 491 2/2/2024
2.3.5 695 2/2/2024
2.3.4 5,844 4/4/2023
2.3.3 540 4/3/2023
2.3.2 587 4/3/2023
2.3.0 437 3/31/2023
2.2.1 416 3/30/2023
2.2.0 452 3/29/2023
2.1.0 7,119 7/15/2022
2.0.1 1,242 5/18/2022
2.0.0 545 5/12/2022
1.2.1 1,027 5/7/2022
1.2.0 815 3/31/2022
1.1.0 487 3/29/2022
1.0.11 468 3/29/2022
1.0.10 496 3/29/2022

- Implemented a `Result` class to return more barcode and QR code information, including text, format, and contour points.
    - Added camera scan function to desktop example.