DEV Community

IronSoftware
IronSoftware

Posted on • Originally published at ironsoftware.com

Generate Barcode Images in C#

In this tutorial, we will see how to generate a barcode in C# .NET with an example using the Iron Barcode library.

We will see how easy it is to create a barcode in C# or VB.Net, as well as how to style our barcode, and then export it as an image.

How to Generate Barcodes in C# .NET

  1. Download IronBarcode using the DLL download or NuGet
  2. Generate a Simple Barcode or QR
  3. Use Advanced Settings to Style and Customize your Barcode
  4. Implement Complex Barcodes in a Single Line of Code
  5. Download this tutorial project

Installation

The first thing we need to do is install the Iron Barcode library, adding barcode functionality to the .NET framework. We can do this using our NuGet package or by downloading the .Net Barcode DLL

PM > Install-Package Barcode

Render a Simple Barcode

In the following example we can see that a barcode can be written containing numerical or text content using only a couple of lines of code, using Iron Barcode.

C#:

// Generate a Simple BarCode image and save as PNG
//using IronBarCode;
GeneratedBarcode MyBarCode = IronBarCode.BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeWriterEncoding.Code128);
MyBarCode.SaveAsPng("MyBarCode.png");
// This line opens the image in your default image viewer
System.Diagnostics.Process.Start("MyBarCode.png");
Enter fullscreen mode Exit fullscreen mode

VB:

' Generate a Simple BarCode image and save as PNG
'using IronBarCode;
Dim MyBarCode As GeneratedBarcode = IronBarCode.BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeWriterEncoding.Code128)
MyBarCode.SaveAsPng("MyBarCode.png")
' This line opens the image in your default image viewer
System.Diagnostics.Process.Start("MyBarCode.png")
Enter fullscreen mode Exit fullscreen mode

We first create the barcode by specifying its value and the barcode format we will be using from the IronBarCode.BarcodeWriterEncoding Enum. We can then choose to save as image or save as a System.Drawing.Image or Bitmap object. That's all the code it takes!

The final line of code simply opens the barcode PNG in the example so that you can see it with your own eyes.

Advanced Barcode Creation

Although the previous example was effective, in the real world we may wish to do more.

In the following example, we may add annotations to the barcode, set the font, display its value below it, add margins, change the barcode color, and then save it, all quite simply in C#.

We can also choose to export to HTML or PDF instead of an image if that is more appropriate for our application.

C#:

//using IronBarCode;
//using System.Drawing;
 // Styling a QR code and adding annotation text
var MyBarCode = IronBarCode.BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeWriterEncoding.QRCode);
MyBarCode.AddAnnotationTextAboveBarcode("Product URL:");
MyBarCode.AddBarcodeValueTextBelowBarcode();
MyBarCode.SetMargins(100);
MyBarCode.ChangeBarCodeColor(Color.Purple);
// Save as HTML
MyBarCode.SaveAsHtmlFile("MyBarCode.html");  
Enter fullscreen mode Exit fullscreen mode

VB:

'using IronBarCode;
'using System.Drawing;
 ' Styling a QR code and adding annotation text
Dim MyBarCode = IronBarCode.BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeWriterEncoding.QRCode)
MyBarCode.AddAnnotationTextAboveBarcode("Product URL:")
MyBarCode.AddBarcodeValueTextBelowBarcode()
MyBarCode.SetMargins(100)
MyBarCode.ChangeBarCodeColor(Color.Purple)
' Save as HTML
MyBarCode.SaveAsHtmlFile("MyBarCode.html")
Enter fullscreen mode Exit fullscreen mode

The code should be self-explanatory, but if it is not, I encourage you to read the GeneratedBarcode class documentation within the API reference

Fluency

In our final example, we will see that we may create, style, and export a barcode in a single line of code.

Iron Barcode implements an optional Fluent API similar to System.Linq. By chaining method calls to method calls to method calls, we first create a barcode, then set its margins, then export to Bitmap in a single line.

This can be very convenient and make code easier to read.

C#:

//using IronBarCode;
//using System.Drawing;
 // Fluent API for Barcode Image generation.
string MyValue = "https://ironsoftware.com/csharp/barcode";
Bitmap BarcodeBmp = IronBarCode.BarcodeWriter.CreateBarcode(MyValue, BarcodeEncoding.PDF417).ResizeTo(300,200).SetMargins(100).ToBitmap();
Enter fullscreen mode Exit fullscreen mode

VB:

'using IronBarCode;
'using System.Drawing;
 ' Fluent API for Barcode Image generation.
Dim MyValue As String = "https://ironsoftware.com/csharp/barcode"
Dim BarcodeBmp As Bitmap = IronBarCode.BarcodeWriter.CreateBarcode(MyValue, BarcodeEncoding.PDF417).ResizeTo(300,200).SetMargins(100).ToBitmap()
Enter fullscreen mode Exit fullscreen mode

The result is a System.Drawing.Image of a PDF417 barcode which looks like this:

Learning More

To learn more about this code sample and how to read images from barcodes in C#, you may wish to view it on GitHub, download it as a Visual Studio Project or look at the other examples within this section, including our tutorial on how to create QR codes.

Source Code Downloads in C

The source for this "Barcode Image Generation" tutorial are available as a C# barcode generator code project for Visual Studio 2017:

Further Documentation

You may also find the BarcodeReader classes within the API Reference of great value. There is also information about how to use the software as a C# Barcode Scanner.

In addition, there are other tutorials which may shed light in other aspects of IronBarCode including QR codes and Reading Barcode Images with .Net.

Top comments (0)