Test in production without watermarks.
Works wherever you need it to.
Get 30 days of fully functional product.
Have it up and running in minutes.
Full access to our support engineering team during your product trial
Barcodes are crucial in modern business operations, from inventory management to product labeling and shipping. Code 128 stands out as a versatile and widely used option among the various barcode code sets. In this article, we’ll explore how to build a Code 128 barcode generator in C# using the IronBarcode library.
Code 128 code set is a high-density, variable-length linear barcode that can encode both alphanumeric data and special characters. It’s self-checking, which includes a checksum digit to ensure data accuracy. The Code 128 encoding scheme supports three control characters:
IronBarcode is a robust .NET library facilitating barcode generation, decoding, and customization. With support for various Barcode Encoding like Code 128, Code 39, Code 93, Code EAN 13, EAN 8, QR codes, and others. It offers an intuitive API for content, size, and appearance adjustments. Its decoding capabilities, automatic checksum calculation, and image export make it a valuable tool for developers in inventory management and beyond. The library's customization options for properties, margins, fonts, and colors enhance its versatility in barcode-related tasks.
Now, we will write code to generate a Code 128 barcode image in C#. The first step is to install the IronBarcode library in our project. The project can be of any type such as Windows Forms, web forms, MAUI, Xamarin, ASP.NET MVC, Razor, or Blazor projects.
To install the IronBarcode NuGet package using the Package Manager Console in Visual Studio, you can follow these steps:
In the Package Manager Console, you can use the Install-Package
command to install the IronBarcode package. Type the following command and press Enter:
Install-Package BarCode
Install-Package BarCode
Add the following namespace to use the barcode library in your project.
using IronBarCode;
using IronBarCode;
Imports IronBarCode
The following code will generate a Code 128 barcode.
// Create a barcode from the input string and specify encoding type as Code 128
var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
// Save the barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg");
// Create a barcode from the input string and specify encoding type as Code 128
var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
// Save the barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg");
' Create a barcode from the input string and specify encoding type as Code 128
Dim myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128)
' Save the barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg")
This code creates a barcode from the input string and saves it as a JPEG image file named "myBarcode.Jpeg." The specific encoding used is Code 128, which can represent alphanumeric characters.
The first line of code creates a new variable named myBarcode
. It uses the BarcodeWriter.CreateBarcode
method to generate a barcode based on the input string "12345ABC12345".
The second argument, BarcodeWriterEncoding.Code128
, specifies the encoding type for the barcode. In this case, it’s using the Code 128 encoding, which is commonly used for alphanumeric data. The resulting barcode is stored in the myBarcode
variable.
The second line saves the generated barcode as a JPEG image file. The filename for the saved image is "myBarcode.Jpeg". The format of the saved image is JPEG (Joint Photographic Experts Group).
The generated barcode is as:
This code can now be read using a barcode reading device.
Now, let's resize our barcode.
The following code will resize our barcode as per the given dimension.
static void Main(string[] args)
{
// Create a barcode from the input string and specify encoding type as Code 128
var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
// Resize the barcode image to the specified width and height (in pixels)
myBarcode.ResizeTo(800, 300);
// Save the resized barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg");
}
static void Main(string[] args)
{
// Create a barcode from the input string and specify encoding type as Code 128
var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
// Resize the barcode image to the specified width and height (in pixels)
myBarcode.ResizeTo(800, 300);
// Save the resized barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg");
}
Shared Sub Main(ByVal args() As String)
' Create a barcode from the input string and specify encoding type as Code 128
Dim myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128)
' Resize the barcode image to the specified width and height (in pixels)
myBarcode.ResizeTo(800, 300)
' Save the resized barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg")
End Sub
The code for creating and saving barcodes remains the same. Just add the additional line to resize the barcode.
The ResizeTo()
method resizes the barcode image stored in the myBarcode
variable. The method ResizeTo
is called on the myBarcode
object. The two arguments passed to ResizeTo
are width and height. In this case, the width is set to 800 pixels and the height is set to 300 pixels.
In this way, we can set the minimum width and bar module height. The resulting barcode image will have these dimensions after resizing as shown below.
Now, let's style our barcode.
Now, let's style our barcode by changing the background color and barcode color.
static void Main(string[] args)
{
// Create a barcode from the input string and specify encoding type as Code 128
var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
// Resize the barcode image to the specified width and height (in pixels)
myBarcode.ResizeTo(800, 300);
// Change the background color of the barcode
myBarcode.ChangeBackgroundColor(IronSoftware.Drawing.Color.Cornsilk);
// Change the barcode color
myBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.Brown);
// Save the styled barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg");
}
static void Main(string[] args)
{
// Create a barcode from the input string and specify encoding type as Code 128
var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
// Resize the barcode image to the specified width and height (in pixels)
myBarcode.ResizeTo(800, 300);
// Change the background color of the barcode
myBarcode.ChangeBackgroundColor(IronSoftware.Drawing.Color.Cornsilk);
// Change the barcode color
myBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.Brown);
// Save the styled barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg");
}
Shared Sub Main(ByVal args() As String)
' Create a barcode from the input string and specify encoding type as Code 128
Dim myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128)
' Resize the barcode image to the specified width and height (in pixels)
myBarcode.ResizeTo(800, 300)
' Change the background color of the barcode
myBarcode.ChangeBackgroundColor(IronSoftware.Drawing.Color.Cornsilk)
' Change the barcode color
myBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.Brown)
' Save the styled barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg")
End Sub
The code for generating and saving barcodes is the same. I've just added two additional lines for changing the background and barcode color. The explanation is as follows:
ChangeBackgroundColor: The method ChangeBackgroundColor
is called on the myBarcode
object. This method changes the background color of the barcode image. The argument passed to ChangeBackgroundColor
is IronSoftware.Drawing.Color.Cornsilk
, which specifies the desired background color. In this case, the background color is set to Cornsilk, which is a pale yellowish color.
ChangeBarCodeColor
is called on the myBarcode
object. This method changes the color of the barcode bars. The argument passed to ChangeBarCodeColor
is IronSoftware.Drawing.Color.Brown
, which specifies the desired barcode color. In this case, the barcode color is set to Brown.Our styled barcode is as:
We have learned to generate a Code 128 barcode. Let's write code to read the barcode:
static void Main(string[] args)
{
// Read barcodes from the specified image file
var resultFromBarcode = BarcodeReader.Read("myBarcode.Jpeg");
// Loop through each barcode value read from the image
foreach (var barcodeValue in resultFromBarcode)
{
// Print each barcode value to the console
Console.WriteLine(barcodeValue);
}
}
static void Main(string[] args)
{
// Read barcodes from the specified image file
var resultFromBarcode = BarcodeReader.Read("myBarcode.Jpeg");
// Loop through each barcode value read from the image
foreach (var barcodeValue in resultFromBarcode)
{
// Print each barcode value to the console
Console.WriteLine(barcodeValue);
}
}
Shared Sub Main(ByVal args() As String)
' Read barcodes from the specified image file
Dim resultFromBarcode = BarcodeReader.Read("myBarcode.Jpeg")
' Loop through each barcode value read from the image
For Each barcodeValue In resultFromBarcode
' Print each barcode value to the console
Console.WriteLine(barcodeValue)
Next barcodeValue
End Sub
The above code reads barcodes from the “myBarcode.Jpeg” image file and prints their values to the console. The BarcodeReader
class is responsible for decoding the barcode data from the image. The explanation of the code is as follows:
The first line creates a variable named resultFromBarcode
. It calls the BarcodeReader.Read
method to read barcodes from the image file named "myBarcode.Jpeg". The result of this operation is stored in the resultFromBarcode
variable.
The second line starts a loop that iterates through each barcode value in the resultFromBarcode
collection. The foreach
loop allows us to process each barcode value one by one.
barcodeValue
represents the content of a barcode that was read from the image.The barcode value will be printed on the Console as shown below.
In conclusion, this article has demonstrated how to create a Code 128 barcode generator in C# using the IronBarcode library. By leveraging the capabilities of IronBarcode, developers can easily generate, customize, and style Code 128 barcodes for various applications, including inventory management, product labeling, and shipping. By following this tutorial, developers can integrate robust barcode functionality into their C# projects, enhancing efficiency in handling tasks related to barcode generation and decoding. IronBarcode's versatility and intuitive API make it a valuable tool for developers working on applications that involve barcode implementation.
In the process of generating Code 128 barcodes with the IronBarcode library, developers have the flexibility to customize code set selection characters, ensuring optimal encoding of data with varying ASCII values. The rendering code seamlessly adapts to preferred image formats, offering developers the choice to save barcodes in JPEG or other formats. Additionally, the inclusion of a stop character ensures the accurate termination of encoded information within the generated barcodes.
IronBarcode offers a free trial to unlock the full potential of the library for their development needs. This approach enables developers to assess the capabilities of IronBarcode before committing to the commercial license.
Code 128 is a high-density, variable-length linear barcode that can encode both alphanumeric data and special characters. It includes a checksum digit to ensure data accuracy and supports three character sets: A, B, and C.
IronBarcode is a robust .NET library that facilitates barcode generation, decoding, and customization. It supports various barcode encodings, offers an intuitive API for adjustments, and provides automatic checksum calculation and image export capabilities.
You can install the IronBarcode library using the Package Manager Console in Visual Studio. Use the command 'Install-Package BarCode' to download and install the latest version of the IronBarcode NuGet package.
To generate a Code 128 barcode, use the BarcodeWriter.CreateBarcode method with the desired input string and specify the encoding type as Code 128. Then, save the barcode image using the SaveAsJpeg method.
Yes, you can resize a generated barcode using the ResizeTo method, specifying the desired width and height in pixels.
Yes, you can customize the background and barcode colors using the ChangeBackgroundColor and ChangeBarCodeColor methods provided by IronBarcode.
To read a Code 128 barcode, use the BarcodeReader.Read method and specify the image file containing the barcode. Iterate through the returned barcode values and process them as needed.
Code 128 supports three character sets: Set A includes uppercase letters, digits, and special characters; Set B includes uppercase, lowercase letters, digits, and additional special characters; Set C encodes pairs of digits from 00 to 99.
Code 128 barcodes are versatile and widely used due to their high density and ability to encode a large variety of data, including alphanumeric characters and special symbols, making them suitable for applications like inventory management and shipping.
IronBarcode allows you to export barcode images to various formats, including JPEG, ensuring flexibility in handling barcode images for different use cases.