See Also
Other Platforms
Features
Buy Now
Online Help
Demo
Licensing

Back

How To: Barcode WPF in ASP.NET Web Applications

Technologies used
  • Neodynamic Barcode Professional for WPF (any version)
  • Microsoft .NET Framework 3.5 (ASP.NET 3.5) or greater
  • Microsoft Visual Studio 2008
  • Microsoft Visual Web Developer 2008 Express Edition (VWD)
This walkthrough illustrates how easily you can use Barcode Professional for WPF in ASP.NET Web Applications. Barcode Professional for WPF leverages new WPF Drawing API generating high quality barcodes. Barcode Professional for WPF features raster barcode image generation which is useful in scenarios like ASP.NET Web Applications that need to display/deliver barcode to Internet Browsers.
During the course of this walkthrough, you will accomplish the following activities:
  • Create an ASP.NET Web Site using Visual Studio 2008 or VWD 2008 Express Edition.
  • Create a simple ASP.NET WebForm (ASPX) to dynamically generate barcodes.
  • Create an ASP.NET HTTP Handler (ASHX) for barcode generation by leveraging Barcode Professional for WPF
Please follow these steps:
  • Ensure you have installed Barcode Professional for WPF
  • Launch Visual Studio 2008 or VWD 2008 and create a new ASP.NET Web Site
  • Add a reference to Barcode Professional for WPF assembly (Neodynamic.WPF.Barcode.dll)
  • Open Default.ASPX file at design time and in the Source View paste the following content:

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>Barcode Professional for WPF in ASP.NET</title>
        <style type="text/css">
            .newStyle1 {
                font-family: arial, Helvetica, sans-serif;
            }
        </style>
    </head>
    <body>
        <form id="form1" runat="server">
            <div class="newStyle1">
                <h3>Barcode Professional for WPF in ASP.NET</h3>
                <br />
                Enter Value to Encode:
                <br />
                <asp:TextBox ID="TextBox1" runat="server" Width="264px">
                </asp:TextBox><asp:Button ID="Button1" runat="server" Text="Barcode Now!" 
                    onclick="Button1_Click" />
                <br />
                <br />
                <asp:Image ID="Image1" runat="server" Visible="false" />
            </div>    
        </form>
    </body>
    </html>
  • In Design View, double click on "Barcode Now!" button and paste the following code in the Button's Click event handler:
    Visual Basic .NET
    If (Me.TextBox1.Text.Length > 0) Then
        Me.Image1.ImageUrl = "~/BarcodeGen.ashx?code=" + Me.TextBox1.Text
        Me.Image1.Visible = True
    End If
    Visual C# .NET
    if (this.TextBox1.Text.Length > 0)
    {
        this.Image1.ImageUrl = "~/BarcodeGen.ashx?code=" + this.TextBox1.Text;
        this.Image1.Visible = true;
    }
  • Add a new item of type "Generic Handler" and name it BarcodeGen.ASHX. In this ASP.NET Handler, we'll create an instance of BarcodeBuilder class (part of Barcode Professional for WPF) for barcode generation. As you'll realize, the code is very simple and straightforward. So after file creation, open it and paste the following code:
    Visual Basic .NET
    <%@ WebHandler Language="VB" Class="BarcodeGen" %>
    
    Imports System
    Imports System.Web
    
    Imports Neodynamic.WPF
    
    Public Class BarcodeGen : Implements IHttpHandler
        
        Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
            
            'Get value to encode from querystring
    
            Dim valueToEncode As String = context.Request("code")
                    
            'Create BarcodeBuilder object        
    
            Dim bc As New BarcodeBuilder()
            'Set barcode standard
    
            bc.Symbology = Symbology.Code128
            'Set value to encode
    
            bc.Code = valueToEncode
    
            'Set output image settings
    
            bc.ImageSettings.Dpi = 96
            bc.ImageSettings.ImageFormat = ImageFormat.Gif
            
            'Generate barcode        
    
            context.Response.ContentType = "image/gif"
            context.Response.BinaryWrite(bc.GetBarcodeImageBinary())
        End Sub
     
        Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
            Get
                Return False
            End Get
        End Property
    
    End Class
    Visual C# .NET
    <%@ WebHandler Language="C#" Class="BarcodeGen" %>
    
    using System;
    using System.Web;
    
    using Neodynamic.WPF;
    
    public class BarcodeGen : IHttpHandler {
        
        public void ProcessRequest (HttpContext context) {
    
            //Get value to encode from querystring
            string valueToEncode = context.Request["code"];
            
            //Create BarcodeBuilder object        
            BarcodeBuilder bc = new BarcodeBuilder();
            //Set barcode standard
            bc.Symbology = Symbology.Code128;
            //Set value to encode
            bc.Code = valueToEncode;
    
            //Set output image settings
            bc.ImageSettings.Dpi = 96;
            bc.ImageSettings.ImageFormat = ImageFormat.Gif;
            
            //Generate barcode        
            context.Response.ContentType = "image/gif";
            context.Response.BinaryWrite(bc.GetBarcodeImageBinary());
        }
     
        public bool IsReusable {
            get {
                return false;
            }
        }
    }
  • That's it. Run your project from VS. You'll get something like the following figure:
    Barcode WPF in ASP.NET Web Applications (Internet Explorer Browser)
    Barcode WPF in ASP.NET Web Applications (Internet Explorer Browser)
    Barcode WPF in ASP.NET Web Applications (Mozilla Firefox Browser)
    Barcode WPF in ASP.NET Web Applications (Mozilla Firefox Browser)
Sample Files Download
Here are the VB.NET and C# versions of this sample. Please download the zip file and extract it.
Remember to download and install Barcode Professional for WPF in order to reproduce this sample demo.
If you need more information or assistance, please contact our .
 Copyright © 2003 - 2009 Neodynamic S.R.L. All rights reserved.