USING IRONBARCODE

Creating a Razor Barcode Generator Web App

Razor Barcode Generator Tutorial

Razor Barcode Generator is a handy tool that simplifies the creation of barcodes for developers and businesses alike. Integrating barcode generation into web applications enhances the functionality and user experience, making it straightforward to produce a variety of barcode types. Whether you're managing inventory, tracking assets, or streamlining checkout processes, utilizing a Razor Barcode Generator can significantly improve efficiency and accuracy. We'll use IronBarcode in this tutorial for creating a barcode generator.

Introduction to IronBarcode

IronBarcode is an essential tool for developers working with .NET Core, offering an easy-to-use library for barcode generation and reading. It stands out because of its simplicity in integrating into your projects, requiring minimal code to produce or decipher barcodes and QR codes. This makes IronBarcode a versatile choice for enhancing applications with both barcode generation and barcode reading functionality, from web applications using Razor pages to desktop and mobile applications. Its broad range of supported barcode formats ensures that it can meet diverse project requirements, including those for .NET MVC, Blazor WebAssembly app, and Blazor App, making it a reliable choice for developers.

Steps to Create a Barcode Generator

Step 1: Create ASP.NET Core Web App (Razor Pages)

Creating an ASP.NET Core Web App with Razor Pages in Visual Studio is straightforward. This guide will help you set up your project from scratch:

  1. Open Visual Studio: Start Visual Studio. On the start window, select "Create a new project" to begin the process of setting up your new web application.
  2. Choose Project Type: In the "Create a new project" window, select "ASP.NET Core Web App" from the list of project templates. Then, click "Next" to proceed.

Creating a new Razor project

  1. Configure Your Project: You'll now be prompted to configure your new project.
    • Enter a "Project Name" for your web application.
    • Choose a suitable "Location" on your computer where the project files will be stored.
    • Optionally, adjust the "Solution name".
    • Click "Next" to continue.

Configuring the project name, solution name, and file path

  1. Set Up Project Details: In the "Additional Information" window, make sure to:
    • Select the appropriate version of .NET.
    • Verify that "Configure for HTTPS" is checked.
    • Click "Create" to initiate the creation of your new Razor Pages web application.

Setting additional information

Step 2: Install the IronBarcode Library

To install IronBarcode using the NuGet Package Manager in Visual Studio:

  1. Access the NuGet Package Manager: Right-click on your project name in the Solution Explorer pane. Select "Manage NuGet Packages…" to open the NuGet Package Manager tab.
  2. Search for IronBarcode: In the "Browse" tab, type "IronBarcode" to find the library.
  3. Install IronBarcode: Select "IronBarCode" and click "Install". Review any dependencies and license agreements, then accept to proceed.

Installing IronBarcode through the NuGet package manager

Step 3: Design the UI

Enhance the Index page by editing the index.cshtml file. Apply custom styling:

<style>
    body {
        font-family: 'Poppins', sans-serif;
    }
    /* More CSS styles omitted for brevity */
</style>
<style>
    body {
        font-family: 'Poppins', sans-serif;
    }
    /* More CSS styles omitted for brevity */
</style>
HTML

Adding a Welcome Message:

<h1 class="text-center mb-4" style="color:#004b9b">Welcome to Barcode Generator</h1>
<div class="svg-container text-center">
    <img src="~/images/logo.svg" class="barcode-logo" alt="Barcode" />
</div>
<h1 class="text-center mb-4" style="color:#004b9b">Welcome to Barcode Generator</h1>
<div class="svg-container text-center">
    <img src="~/images/logo.svg" class="barcode-logo" alt="Barcode" />
</div>
HTML

Structuring the Main Content:

<div class="container">
    <div class="row justify-content-center">
        <!-- Form and Image Column will go here -->
    </div>
</div>
<div class="container">
    <div class="row justify-content-center">
        <!-- Form and Image Column will go here -->
    </div>
</div>
HTML

Design Input Form:

Include the form to collect user input for barcode generation:

<div class="col-md-6 divider col-padding">
    <form method="post" enctype="multipart/form-data">
        <!-- Form elements omitted for brevity -->
        <button type="submit" asp-page-handler="Upload" class="btn btn-primary btn-block">Generate Barcode</button>
    </form>
    <div id="messageContainer">
        <span id="message" style="color:green;">@Html.Raw(Model.Message)</span>
    </div>
</div>
<div class="col-md-6 divider col-padding">
    <form method="post" enctype="multipart/form-data">
        <!-- Form elements omitted for brevity -->
        <button type="submit" asp-page-handler="Upload" class="btn btn-primary btn-block">Generate Barcode</button>
    </form>
    <div id="messageContainer">
        <span id="message" style="color:green;">@Html.Raw(Model.Message)</span>
    </div>
</div>
HTML

Image Column:

For displaying and downloading the generated barcode:

<div class="col-md-6 image-padding">
    <div id="imageContainer">
        <!-- Image and download button elements omitted for brevity -->
    </div>
</div>
<div class="col-md-6 image-padding">
    <div id="imageContainer">
        <!-- Image and download button elements omitted for brevity -->
    </div>
</div>
HTML

Scripts:

Add functionality to handle input and download actions using jQuery:

@section Scripts {
    <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
    <script>
        $(document).ready(function () {
            // jQuery code omitted for brevity
        });
    </script>
}
@section Scripts {
    <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
    <script>
        $(document).ready(function () {
            // jQuery code omitted for brevity
        });
    </script>
}
JAVASCRIPT

Step 4: Writing Functional Code

Define Color:

At the top of your index.cshtml file, add:

using Color = IronSoftware.Drawing.Color;
using Color = IronSoftware.Drawing.Color;
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Barcode Colors Enum:

Define available colors for barcodes:

public enum BarcodeColors
{
    AliceBlue,
    AntiqueWhite,
    Aqua,
    Aquamarine,
    Azure,
    Beige,
    Bisque
    // And others...
}
public enum BarcodeColors
{
    AliceBlue,
    AntiqueWhite,
    Aqua,
    Aquamarine,
    Azure,
    Beige,
    Bisque
    // And others...
}
Public Enum BarcodeColors
	AliceBlue
	AntiqueWhite
	Aqua
	Aquamarine
	Azure
	Beige
	Bisque
	' And others...
End Enum
$vbLabelText   $csharpLabel

Barcode Types Enum:

Define available types of barcodes:

public enum BarcodeTypes
{
    Aztec,
    Codabar,
    // Other barcode types...
}
public enum BarcodeTypes
{
    Aztec,
    Codabar,
    // Other barcode types...
}
Public Enum BarcodeTypes
	Aztec
	Codabar
	' Other barcode types...
End Enum
$vbLabelText   $csharpLabel

Helper Functions:

Convert enums to color and barcode encoding:

private Color EnumToColor(BarcodeColors colorEnum) { /* Conversion logic */ }
private BarcodeWriterEncoding GetBarcodeEncoding(BarcodeTypes barcodeType) { /* Encoding logic */ }
private Color EnumToColor(BarcodeColors colorEnum) { /* Conversion logic */ }
private BarcodeWriterEncoding GetBarcodeEncoding(BarcodeTypes barcodeType) { /* Encoding logic */ }
Private Function EnumToColor(ByVal colorEnum As BarcodeColors) As Color
End Function
Private Function GetBarcodeEncoding(ByVal barcodeType As BarcodeTypes) As BarcodeWriterEncoding
End Function
$vbLabelText   $csharpLabel

OnPostUpload Function:

Handle form submission for barcode generation:

public JsonResult OnPostUpload(string barcodeText, string barcodeType, int? maxWidth, int? maxHeight, string barcodeColor)
{
    // Function logic...
}
public JsonResult OnPostUpload(string barcodeText, string barcodeType, int? maxWidth, int? maxHeight, string barcodeColor)
{
    // Function logic...
}
Public Function OnPostUpload(ByVal barcodeText As String, ByVal barcodeType As String, ByVal maxWidth? As Integer, ByVal maxHeight? As Integer, ByVal barcodeColor As String) As JsonResult
	' Function logic...
End Function
$vbLabelText   $csharpLabel

Layout Editing:

Edit \_Layout.cshtml for a minimalist design:

<!DOCTYPE html>
<html lang="en">
<head>
    <!-- Head contents omitted for brevity -->
</head>
<body>
    <div class="container">
        <main role="main" class="pb-3">
            @RenderBody()
        </main>
    </div>
    <!-- Scripts inclusion omitted for brevity -->
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <!-- Head contents omitted for brevity -->
</head>
<body>
    <div class="container">
        <main role="main" class="pb-3">
            @RenderBody()
        </main>
    </div>
    <!-- Scripts inclusion omitted for brevity -->
</body>
</html>
HTML

Run Application

Run your application by pressing F5 or Ctrl + F5. Follow the instructions onscreen to input data, choose a barcode type, set dimensions, and generate a barcode.

Outputted web application

Conclusion

The barcode generator web application offers an easy way to create custom barcodes. You can input data, select a barcode type, set dimensions, and choose a color before generating a barcode. IronBarcode powers this application with a free trial, and licenses start at $749.

For generating QR Code images, consider using IronQR.

Frequently Asked Questions

What is a Razor Barcode Generator?

A Razor Barcode Generator is a tool that simplifies the creation of barcodes for developers and businesses, integrating barcode generation into web applications for enhanced functionality and user experience.

Which library is used in this tutorial for barcode generation?

This tutorial uses IronBarcode, a library for .NET Core that provides easy-to-use functions for barcode generation and reading.

How do I create an ASP.NET Core Web App with Razor Pages?

To create an ASP.NET Core Web App with Razor Pages, open Visual Studio, select 'Create a new project', choose 'ASP.NET Core Web App', configure your project settings, and follow the setup prompts.

How can I install IronBarcode in my project?

Install IronBarcode using the NuGet Package Manager in Visual Studio by right-clicking your project in Solution Explorer, selecting 'Manage NuGet Packages...', searching for 'IronBarcode', and clicking 'Install'.

What can I customize in the barcode generation UI?

You can enhance the Index page by customizing the styling in the 'index.cshtml' file, adding a welcome message, structuring main content, designing an input form, and managing image display.

What are BarcodeColors and BarcodeTypes enums used for?

BarcodeColors and BarcodeTypes enums are used to define available colors for barcodes and available types of barcodes, respectively, providing options for customization in the barcode generation process.

How does the OnPostUpload function work?

The OnPostUpload function handles form submissions for barcode generation, processing user input such as barcode text, type, dimensions, and color to generate the desired barcode.

Jordi Bardia
Software Engineer
Jordi is most proficient in Python, C# and C++, when he isn’t leveraging his skills at Iron Software; he’s game programming. Sharing responsibilities for product testing, product development and research, Jordi adds immense value to continual product improvement. The varied experience keeps him challenged and engaged, and he says it’s one of his favorite aspects of working with Iron Software. Jordi grew up in Miami, Florida and studied Computer Science and Statistics at University of Florida.
< PREVIOUS
How to Use a Document Scanner SDK in a .NET MAUI Application
NEXT >
How to Generate Barcodes in VB .NET