Вы находитесь на странице: 1из 5

Create or Generate QR Code in Asp.

Net using C#,


VB.NET
Introduction:

Here we will learn how to create or generate QR code in asp.net web application
using c#, vb.net with example or asp.net dynamically generate and display QR code
using c#, vb.net with example or generate and read QR code
in asp.net using zxing.Net library in c#, vb.net with example. By using Zxing.Net library
in asp.net we can easily generate and read QR code in c#, vb.net with example based on
our requirements.

Description:

In previous articles I explained create installer file for windows application in visual
studio, split string including delimiter at the end in c#, vb.net, asp.net mvc display data
from database with example,dictionary in c#, vb.net with examples, reflection to get list of
properties and values in c#, vb.net with example, difference between ref and out in c#,
vb.net with example and many more articles related toasp.net, mvc, c#, vb.net. Now I will
explain how to generate and display QR code in asp.net using c#,vb.net with example.

In asp.net by using Zxing.Net library we can generate QR code and read data from that
image based on our requirements.

To use Zxing.Net library in our application first create new asp.net web application and
add Zxing.Net library for that right click on your application select Manage Nuget
Packages Go to Browse Tab Search for Zxing.Net From the list
select ZxingNet and install it. Once we install the component that will show like as shown
following.

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Generate and Read QR Code in Asp.Net</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txtCode" runat="server"></asp:TextBox>
<asp:Button ID="btnGenerate" runat="server" Text="Generate QR Code"OnClick="btnGenerate_Click" />
<hr />
<asp:Image ID="imgQRCode" Width="100px" Height="100px" runat="server" Visible="false" /> <br /
<asp:Button ID="btnRead" Text="Read QR Image" runat="server" OnClick="btnRead_Click" /> <br/><b
<asp:Label ID="lblQRCode" runat="server"></asp:Label>
</div>
</form>
</body>
</html>

Now open code behind file and write the code like as shown following

C# Code

using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using ZXing;

public partial class GenerateQRCode : System.Web.UI.Page


{
protected void Page_Load(object sender, EventArgs e)
{

}
protected void btnGenerate_Click(object sender, EventArgs e)
{
GenerateCode(txtCode.Text);
}
protected void btnRead_Click(object sender, EventArgs e)
{
ReadQRCode();
}
// Generate QRCode
private void GenerateCode(string name)
{
var writer = new BarcodeWriter();
writer.Format = BarcodeFormat.QR_CODE;
var result = writer.Write(name);
string path = Server.MapPath("~/images/QRImage.jpg");
var barcodeBitmap = new Bitmap(result);

using (MemoryStream memory = new MemoryStream())


{
using (FileStream fs = new FileStream(path, FileMode.Create, FileAccess.ReadWrite))
{
barcodeBitmap.Save(memory, ImageFormat.Jpeg);
byte[] bytes = memory.ToArray();
fs.Write(bytes, 0, bytes.Length);
}
}
imgQRCode.Visible = true;
imgQRCode.ImageUrl = "~/images/QRImage.jpg";

}
// Read Code from QR Image
private void ReadQRCode()
{
var reader = new BarcodeReader();
string filename = Path.Combine(Request.MapPath("~/images"), "QRImage.jpg");
// Detect and decode the barcode inside the bitmap
var result = reader.Decode(new Bitmap(filename));
if (result != null)
{
lblQRCode.Text = "QR Code: "+ result.Text;
}
}
}

VB.NET Code

Imports System.Drawing
Imports System.Drawing.Imaging
Imports System.IO
Imports ZXing
Partial Class VBCode
Inherits System.Web.UI.Page
Protected Sub Page_Load(sender As Object, e As EventArgs)

End Sub
Protected Sub btnGenerate_Click(sender As Object, e As EventArgs)
GenerateCode(txtCode.Text)
End Sub
Protected Sub btnRead_Click(sender As Object, e As EventArgs)
ReadQRCode()
End Sub
' Generate QRCode
Private Sub GenerateCode(name As String)
Dim writer = New BarcodeWriter()
writer.Format = BarcodeFormat.QR_CODE
Dim result = writer.Write(name)
Dim path As String = Server.MapPath("~/images/QRImage.jpg")
Dim barcodeBitmap = New Bitmap(result)
Using memory As New MemoryStream()
Using fs As New FileStream(path, FileMode.Create, FileAccess.ReadWrite)
barcodeBitmap.Save(memory, ImageFormat.Jpeg)
Dim bytes As Byte() = memory.ToArray()
fs.Write(bytes, 0, bytes.Length)
End Using
End Using
imgQRCode.Visible = True
imgQRCode.ImageUrl = "~/images/QRImage.jpg"

End Sub
' Read Code from QR Image
Private Sub ReadQRCode()
Dim reader = New BarcodeReader()
Dim filename As String = Path.Combine(Request.MapPath("~/images"), "QRImage.jpg")
' Detect and decode the barcode inside the bitmap
Dim result = reader.Decode(New Bitmap(filename))
If result IsNot Nothing Then
lblQRCode.Text = "QR Code: " + result.Text
End If
End Sub
End Class

If you observe above code we added a namespace Zxing reference in our application to
generate and read QR code in our web applications.

Demo

When we run above code we will get result like as shown below

Вам также может понравиться