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 controllo utente, e perciò sarà semplicissimo da implementare in qualsiasi applicazione. Lo si potrà richiamare in qualunque momento semplicemente passando al parametro "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 si può 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 "TEST 123":</strong></p>
<p>
<asp101:Barcode id="bcTest" Data="TEST 123" runat="server" />
</p>
<p><strong>Encoding "ASP 101"</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>
- Articolo precedente Transazioni sui database con ADO.NET
- Articolo successivo Feedreader: Leggere i feed rss e visualizzarli
Ti potrebbe interessare anche
commenta la notizia
C'č 1 commento
ordina per
primi
ultimi
+ apprezzati
Ti interessano altri articoli su questo argomento?
Chiedi alla nostra Redazione!
Chiedi alla nostra Redazione!