
Creating a Razor Barcode Generator Web App
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:
-
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.
-
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.

-
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.

- 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.

Step 2: Install the IronBarcode Library
To install IronBarcode using the NuGet Package Manager in Visual Studio:
- 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.
- Search for IronBarcode: In the "Browse" tab, type "IronBarcode" to find the library.
- Install IronBarcode: Select "IronBarcode" and click "Install". Review any dependencies and license agreements, then accept to proceed.

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>
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>
Structuring the Main Content:
<div class="container">
<div class="row justify-content-center">
<!-- Form and Image Column will go here -->
</div>
</div>
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>
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>
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>
}
Step 4: Writing Functional Code
Define Color:
At the top of your index.cshtml file, add:
using Color = IronSoftware.Drawing.Color;Imports Color = IronSoftware.Drawing.ColorBarcode 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...
End EnumBarcode Types Enum:
Define available types of barcodes:
public enum BarcodeTypes
{
Aztec,
Codabar,
// Other barcode types...
}Public Enum BarcodeTypes
Aztec
Codabar
' Other barcode types...
End EnumHelper Functions:
Convert enums to color and barcode encoding:
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 FunctionOnPostUpload Function:
Handle form submission for barcode generation:
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 FunctionLayout 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>
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.

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 $999.
For generating QR Code images, consider using IronQR.

Curtis Chau holds a Bachelor’s degree in Computer Science (Carleton University) and specializes in front-end development with expertise in Node.js, TypeScript, JavaScript, and React. Passionate about crafting intuitive and aesthetically pleasing user interfaces, Curtis enjoys working with modern frameworks and creating well-structured, visually appealing manuals.
Related Articles


