Generare codici a barre

In questo articolo vedremo come creare, in ASP.NET, un'applicazione che mostri i codici a barre in una pagina web.L' esempio proposto è sottoforma di controlloutente, e perciò sarà semplicissimo daimplementare in qualsiasi applicazione. Lo si potràrichiamare in qualunque momento semplicemente passando alparametro "Data" il testo da codificare. L'esempio è scaricabile QUI.

Ecco il codice del controllo utente:

<script language="VB" runat="server">    Public Data As String = ""    Public Height As Byte = 25    Public WidthMultiplier As Byte = 1  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)  Dim dictEncoding As StringDictionary  Dim sbBarcodeImgs As StringBuilder  Dim strEncodedData As String  Dim I As Integer  dictEncoding = New StringDictionary()  dictEncoding.Add("0" , "101001101101")  dictEncoding.Add("1" , "110100101011")  dictEncoding.Add("2" , "101100101011")  dictEncoding.Add("3" , "110110010101")  dictEncoding.Add("4" , "101001101011")  dictEncoding.Add("5" , "110100110101")  dictEncoding.Add("6" , "101100110101")  dictEncoding.Add("7" , "101001011011")  dictEncoding.Add("8" , "110100101101")  dictEncoding.Add("9" , "101100101101")  dictEncoding.Add("A" , "110101001011")  dictEncoding.Add("B" , "101101001011")  dictEncoding.Add("C" , "110110100101")  dictEncoding.Add("D" , "101011001011")  dictEncoding.Add("E" , "110101100101")  dictEncoding.Add("F" , "101101100101")  dictEncoding.Add("G" , "101010011011")  dictEncoding.Add("H" , "110101001101")  dictEncoding.Add("I" , "101101001101")  dictEncoding.Add("J" , "101011001101")  dictEncoding.Add("K" , "110101010011")  dictEncoding.Add("L" , "101101010011")  dictEncoding.Add("M" , "110110101001")  dictEncoding.Add("N" , "101011010011")  dictEncoding.Add("O" , "110101101001")  dictEncoding.Add("P" , "101101101001")  dictEncoding.Add("Q" , "101010110011")  dictEncoding.Add("R" , "110101011001")  dictEncoding.Add("S" , "101101011001")  dictEncoding.Add("T" , "101011011001")  dictEncoding.Add("U" , "110010101011")  dictEncoding.Add("V" , "100110101011")  dictEncoding.Add("W" , "110011010101")  dictEncoding.Add("X" , "100101101011")  dictEncoding.Add("Y" , "110010110101")  dictEncoding.Add("Z" , "100110110101")  dictEncoding.Add("-" , "100101011011")  dictEncoding.Add(":" , "110010101101")  dictEncoding.Add(" " , "100110101101")  dictEncoding.Add("$" , "100100100101")  dictEncoding.Add("/" , "100100101001")  dictEncoding.Add(" + " , "100101001001")  dictEncoding.Add("%" , "101001001001")  dictEncoding.Add("*" , "100101101101")  ' Lo standard Code 39 Symbology Barcodes inizia e finisce sempre con il carattere "*".  ' Lo "0" messo dopo ogni carattere corrisponde ad uno spazio vuoto.  strEncodedData = dictEncoding("*") & "0"  For I = 1 To Len(Data)strEncodedData = strEncodedData & dictEncoding(Mid(Data, I, 1)) & "0"  Next I  strEncodedData = strEncodedData & dictEncoding("*")  ' Mostra il troubleshooting:  'Response.Write("<p>" & strEncodedData & "</p>")  ' Converte la stringa cifrata in un' immagine.  Per farlo, due immagini da 1x1 pixels vengono gradualmente allargate  ' Si può utilizzare anche il motore di rendering grafico del .NET, main questo modo è tutto più semplice e rapido.sbBarcodeImgs = New StringBuilder()  For I = 1 To Len(strEncodedData)If Mid(strEncodedData, I, 1) = "1" Then    sbBarcodeImgs.Append("<img src=""images/bar_blk.gif"" width=""" & WidthMultiplier & """ height=""" & Height & """ />")Else    sbBarcodeImgs.Append("<img src=""images/bar_wht.gif"" width=""" & WidthMultiplier & """ height=""" & Height & """ />")End If  Next I  litBarcode.Text = sbBarcodeImgs.ToString    End Sub</script><asp:Literal ID="litBarcode" runat="server" />

Mentre ora mostriamo la sorgente della pagina nella quale sipuò decidere il testo da codificare:

<%@ Page Language="VB" %><%@ Register TagPrefix="asp101" TagName="Barcode" Src="barcode.ascx" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" ><head>    <title>ASP.NET Esempio codice a barre</title></head><body><h3>Barcodes</h3><p><strong>Encoding &quot;TEST 123&quot;:</strong></p><p><asp101:Barcode id="bcTest" Data="TEST 123" runat="server" /></p><p><strong>Encoding &quot;ASP 101&quot;</strong> (with a height of 35px and double size bars):</p><p><asp101:Barcode id="bcAsp101" runat="server"    Data   = "ASP 101"    Height = 35    WidthMultiplier = 2/></p><hr /></body></html>

 



Ti potrebbe interessare anche

commenta la notizia