页面代码
<%@ Page Language="C#" CodeBehind="Default.aspx.cs"

Inherits
="BarCode._Default" %>

<!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 runat="server">
<title></title>
<style type="text/css">
body { font
-size: 12px; font-family: 宋体; }
</style>
</head>
<body>
<form id="form1" runat="server">
39码:
<asp:TextBox ID="TextBox_39" runat="server">%91E+</asp:TextBox>

<asp:Button ID="Button_39" runat="server" Text="生成条码"

OnClick
="Button_39_Click" />

<br />
<asp:Literal ID="Literal_39" runat="server"></asp:Literal>
</form>
</body>
</html>

 

 

 

 

代码
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace BarCode
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
TextBox1.Focus();
TextBox1.Text
= "";

Button_39_Click(
new object(), new EventArgs());

}

protected void Button_39_Click(object sender, EventArgs e)
{
Literal_39.Text
= BarCodeToHTML.get39(TextBox_39.Text.Trim());
}

public static string get39(string s)//条形码的字符
{
Hashtable ht
= new Hashtable();

#region 39码 12位
ht.Add(
'A', "110101001011");
ht.Add(
'B', "101101001011");
ht.Add(
'C', "110110100101");
ht.Add(
'D', "101011001011");
ht.Add(
'E', "110101100101");
ht.Add(
'F', "101101100101");
ht.Add(
'G', "101010011011");
ht.Add(
'H', "110101001101");
ht.Add(
'I', "101101001101");
ht.Add(
'J', "101011001101");
ht.Add(
'K', "110101010011");
ht.Add(
'L', "101101010011");
ht.Add(
'M', "110110101001");
ht.Add(
'N', "101011010011");
ht.Add(
'O', "110101101001");
ht.Add(
'P', "101101101001");
ht.Add(
'Q', "101010110011");
ht.Add(
'R', "110101011001");
ht.Add(
'S', "101101011001");
ht.Add(
'T', "101011011001");
ht.Add(
'U', "110010101011");
ht.Add(
'V', "100110101011");
ht.Add(
'W', "110011010101");
ht.Add(
'X', "100101101011");
ht.Add(
'Y', "110010110101");
ht.Add(
'Z', "100110110101");
ht.Add(
'0', "101001101101");
ht.Add(
'1', "110100101011");
ht.Add(
'2', "101100101011");
ht.Add(
'3', "110110010101");
ht.Add(
'4', "101001101011");
ht.Add(
'5', "110100110101");
ht.Add(
'6', "101100110101");
ht.Add(
'7', "101001011011");
ht.Add(
'8', "110100101101");
ht.Add(
'9', "101100101101");
ht.Add(
'+', "100101001001");
ht.Add(
'-', "100101011011");
ht.Add(
'*', "100101101101");
ht.Add(
'/', "100100101001");
ht.Add(
'%', "101001001001");
ht.Add(
'$', "100100100101");
ht.Add(
'.', "110010101101");
ht.Add(
' ', "100110101101");
#endregion
#region 39码 9位
//ht.Add('0', "000110100");
//ht.Add('1', "100100001");
//ht.Add('2', "001100001");
//ht.Add('3', "101100000");
//ht.Add('4', "000110001");
//ht.Add('5', "100110000");
//ht.Add('6', "001110000");
//ht.Add('7', "000100101");
//ht.Add('8', "100100100");
//ht.Add('9', "001100100");
//ht.Add('A', "100001001");
//ht.Add('B', "001001001");
//ht.Add('C', "101001000");
//ht.Add('D', "000011001");
//ht.Add('E', "100011000");
//ht.Add('F', "001011000");
//ht.Add('G', "000001101");
//ht.Add('H', "100001100");
//ht.Add('I', "001001100");
//ht.Add('J', "000011100");
//ht.Add('K', "100000011");
//ht.Add('L', "001000011");
//ht.Add('M', "101000010");
//ht.Add('N', "000010011");
//ht.Add('O', "100010010");
//ht.Add('P', "001010010");
//ht.Add('Q', "000000111");
//ht.Add('R', "100000110");
//ht.Add('S', "001000110");
//ht.Add('T', "000010110");
//ht.Add('U', "110000001");
//ht.Add('V', "011000001");
//ht.Add('W', "111000000");
//ht.Add('X', "010010001");
//ht.Add('Y', "110010000");
//ht.Add('Z', "011010000");
//ht.Add('-', "010000101");
//ht.Add('.', "110000100");
//ht.Add(' ', "011000100");
//ht.Add('*', "010010100");
//ht.Add('$', "010101000");
//ht.Add('/', "010100010");
//ht.Add('+', "010001010");
//ht.Add('%', "000101010");
#endregion

s
= "" + s.ToUpper() + "";

string result_bin = "";//二进制串

try
{
foreach (char ch in s)
{
result_bin
+= ht[ch].ToString();
result_bin
+= "0";//间隔,与一个单位的线条宽度相等
}
}
catch { return "存在不允许的字符!"; }

string result_html = "";//HTML代码
string color = "";//颜色
foreach (char c in result_bin)
{
color
= c == '0' ? "#FFFFFF" : "#000000";
result_html
+= "<div style=\"width:" + 1+ "px;height:" + 30+

"px;float:left;background:" + color + ";\"></div>";
}
result_html
+= "<div style=\"clear:both\"></div>";

int len = ht['*'].ToString().Length;
foreach (char c in s)
{
result_html
+= "<div style=\"width:" + 1* (len + 1)) +

"px;float:left;color:#000000;text-align:center;\">" + c + "</div>";
}
result_html
+= "<div style=\"clear:both\"></div>";

return "<div style=\"background:#FFFFFF;padding:5px;font-size:" + (1

* 10) + "px;font-family:'楷体';\">" + result_html + "</div>";
}

}
}

 

 

 

 


 

posted on 2010-08-18 11:12  08信工实训  阅读(1210)  评论(0编辑  收藏  举报