RPA Robotic Process Automation - Generate and Check QR Code Barcode with Image Inside - C# - ByteScout
Announcement
Our ByteScout SDK products are sunsetting as we focus on expanding new solutions.
Learn More Open modal
Close modal
Announcement Important Update
ByteScout SDK Sunsetting Notice
Our ByteScout SDK products are sunsetting as we focus on our new & improved solutions. Thank you for being part of our journey, and we look forward to supporting you in this next chapter!

RPA Robotic Process Automation – Generate and Check QR Code Barcode with Image Inside – C#

  • Home
  • /
  • Articles
  • /
  • RPA Robotic Process Automation – Generate and Check QR Code Barcode with Image Inside – C#

How to generate and check QR code barcode with image inside in C# with ByteScout Robotic Process Automation

ByteScout Robotic Process Automation is tools and API for rapid manual data entry automation using Robotic Process Automation based on ByteScout data extraction tools.

On-demand (REST Web API) version:
 Web API (on-demand version)

On-premise offline SDK for Windows:
 60 Day Free Trial (on-premise)

Program.cs

      
using System; using Bytescout.BarCode; using Bytescout.BarCodeReader; namespace QRCodeWithImage { class Program { static void Main(string[] args) { // GENERATE QR CODE WITH DECOARATION IMAGE: const string decorationImageFile = @".\logo.png"; const string outputFile = @".\barcode.png"; const string barcodeValue = "1234567890 abcdefghijklmnopqrstuvwxyz 1234567890 abcdefghijklmnopqrstuvwxyz"; // Create and activate barcode generator instance using (Barcode barcode = new Barcode("demo", "demo")) { // Set barcode type barcode.Symbology = Bytescout.BarCode.SymbologyType.QRCode; // Set high QR Code error correction level barcode.Options.QRErrorCorrectionLevel = QRErrorCorrectionLevel.High; // Set barcode value barcode.Value = barcodeValue; // Add decoration image and scale it to 15% of the barcode square barcode.AddDecorationImage(decorationImageFile, 15); // Save generated barcode barcode.SaveImage(outputFile); Console.WriteLine("Barcode saved to " + outputFile); // CHECK THE BARCODE IS DECODABLE: // Create and activate barcode reader instance using (Reader reader = new Reader("demo", "demo")) { // Enable QR Code decoding reader.BarcodeTypesToFind.QRCode = true; // Read barcode from generated image FoundBarcode[] foundBarcodes = reader.ReadFrom(outputFile); // Check result if (foundBarcodes.Length > 0 && foundBarcodes[0].Type == Bytescout.BarCodeReader.SymbologyType.QRCode) Console.WriteLine("Barcode is decodable."); else Console.WriteLine("Barcode is not decodable!"); } Console.WriteLine(); Console.WriteLine("Press any key..."); Console.ReadKey(); } } } }

QRCodeWithImage.csproj

      
<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> <ProjectGuid>{0EC915DC-3599-492C-9D20-E78F45EE834C}</ProjectGuid> <OutputType>Exe</OutputType> <AppDesignerFolder>Properties</AppDesignerFolder> <RootNamespace>QRCodeWithImage</RootNamespace> <AssemblyName>QRCodeWithImage</AssemblyName> <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> <FileAlignment>512</FileAlignment> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PlatformTarget>AnyCPU</PlatformTarget> <DebugSymbols>true</DebugSymbols> <DebugType>full</DebugType> <Optimize>false</Optimize> <OutputPath>bin\Debug\</OutputPath> <DefineConstants>DEBUG;TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <PlatformTarget>AnyCPU</PlatformTarget> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> <OutputPath>bin\Release\</OutputPath> <DefineConstants>TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> </PropertyGroup> <ItemGroup> <Reference Include="Bytescout.BarCode, Version=4.63.0.972, Culture=neutral, PublicKeyToken=f7dd1bd9d40a50eb, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> <HintPath>..\..\..\Program Files\Bytescout BarCode Generator SDK\net4.00\Bytescout.BarCode.dll</HintPath> </Reference> <Reference Include="Bytescout.BarCodeReader, Version=10.0.0.1755, Culture=neutral, PublicKeyToken=f7dd1bd9d40a50eb, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> <HintPath>..\..\..\Program Files\Bytescout BarCode Reader SDK\net4.00\Bytescout.BarCodeReader.dll</HintPath> </Reference> <Reference Include="System" /> <Reference Include="System.Core" /> <Reference Include="System.Drawing" /> <Reference Include="System.Data" /> <Reference Include="System.Xml" /> </ItemGroup> <ItemGroup> <Compile Include="Program.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> </ItemGroup> <ItemGroup> <Content Include="logo.png"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </Content> </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. <Target Name="BeforeBuild"> </Target> <Target Name="AfterBuild"> </Target> --> </Project>

QRCodeWithImage.sln

      
Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2013 VisualStudioVersion = 12.0.40629.0 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "QRCodeWithImage", "QRCodeWithImage.csproj", "{0EC915DC-3599-492C-9D20-E78F45EE834C}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {0EC915DC-3599-492C-9D20-E78F45EE834C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {0EC915DC-3599-492C-9D20-E78F45EE834C}.Debug|Any CPU.Build.0 = Debug|Any CPU {0EC915DC-3599-492C-9D20-E78F45EE834C}.Release|Any CPU.ActiveCfg = Release|Any CPU {0EC915DC-3599-492C-9D20-E78F45EE834C}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal

VIDEO

ON-PREMISE OFFLINE SDK

Get 60 Day Free Trial

See also:

ON-DEMAND REST WEB API

Get Your API Key

See also:

Tutorials:

prev
next