您的位置:首页 > 编程语言 > ASP

asp.net(c#)生成EAN13条形码,webform版本

2007-09-05 09:56 579 查看
做一个项目需要用到条形码,在网上搜索一下,基本上都是winform版本。于是我就找了一个老外的代码修改了一下,版权属于原作者。
写一个条形码的类,名称为EAN13BarCode.cs,代码如下:


using System;


using System.Text;


using System.Drawing;


using System.Web;




namespace Utility




...{




/**//// <summary>


/// EAN13BarCode 的摘要说明。


/// </summary>


public class EAN13BarCode




...{


private string _sName = "EAN13";




private float _fMinimumAllowableScale = .8f;


private float _fMaximumAllowableScale = 2.0f;




// This is the nomimal size recommended by the EAN.


private float _fWidth = 37.29f;


private float _fHeight = 25.93f;


private float _fFontSize = 8.0f;


private float _fScale = 1.0f;




// Left Hand Digits.




private string [] _aOddLeft = ...{ "0001101", "0011001", "0010011", "0111101",


"0100011", "0110001", "0101111", "0111011",


"0110111", "0001011" };






private string [] _aEvenLeft = ...{ "0100111", "0110011", "0011011", "0100001",


"0011101", "0111001", "0000101", "0010001",


"0001001", "0010111" };




// Right Hand Digits.




private string [] _aRight = ...{ "1110010", "1100110", "1101100", "1000010",


"1011100", "1001110", "1010000", "1000100",


"1001000", "1110100" };




private string _sQuiteZone = "000000000";




private string _sLeadTail = "101";




private string _sSeparator = "01010";




private string _sCountryCode = "00";


private string _sManufacturerCode;


private string _sProductCode;


private string _sChecksumDigit;




public EAN13BarCode( )




...{




}




public EAN13BarCode( string mfgNumber, string productId )




...{


this.CountryCode = "00";


this.ManufacturerCode = mfgNumber;


this.ProductCode = productId;


this.CalculateChecksumDigit( );


}




public EAN13BarCode( string countryCode, string mfgNumber, string productId )




...{


this.CountryCode = countryCode;


this.ManufacturerCode = mfgNumber;


this.ProductCode = productId;


this.CalculateChecksumDigit( );


}




public EAN13BarCode( string countryCode, string mfgNumber, string productId, string checkDigit )




...{


this.CountryCode = countryCode;


this.ManufacturerCode = mfgNumber;


this.ProductCode = productId;


this.ChecksumDigit = checkDigit;


}




public static string getENA13Code(string Numbers12bit)




...{


int c1 = 0;


int c2 = 0;




for (int i=0; i<11; i= i+2)




...{


c1 += int.Parse(Numbers12bit[i].ToString());


c2 += int.Parse(Numbers12bit[i+1].ToString());


}




int c3 = c1 + c2 *3;




c3 = c3 - c3/10 *10;




if (c3 == 0)




...{


return Numbers12bit + 0;


}


else




...{


int N = 10 - c3;




return Numbers12bit + N.ToString();


}


}


public void DrawEan13Barcode(System.Drawing.Graphics g, System.Drawing.Point pt)




...{


float width = this.Width * this.Scale;


float height = this.Height * this.Scale;




// EAN13 Barcode should be a total of 113 modules wide.


float lineWidth = width / 113f;




g.Clear(Color.White);


// Save the GraphicsState.


System.Drawing.Drawing2D.GraphicsState gs = g.Save( );




// Set the PageUnit to Inch because all of our measurements are in inches.


g.PageUnit = System.Drawing.GraphicsUnit.Millimeter;




// Set the PageScale to 1, so a millimeter will represent a true millimeter.


g.PageScale = 1;




System.Drawing.SolidBrush brush = new System.Drawing.SolidBrush( System.Drawing.Color.Black );




float xPosition = 0;




System.Text.StringBuilder strbEAN13 = new System.Text.StringBuilder( );


System.Text.StringBuilder sbTemp = new System.Text.StringBuilder( );




float xStart = pt.X;


float yStart = pt.Y;


float xEnd = 0;




System.Drawing.Font font = new System.Drawing.Font( "Arial", this._fFontSize * this.Scale );




// Calculate the Check Digit.


this.CalculateChecksumDigit( );




sbTemp.AppendFormat( "{0}{1}{2}{3}",


this.CountryCode,


this.ManufacturerCode,


this.ProductCode,


this.ChecksumDigit );






string sTemp = sbTemp.ToString( );




string sLeftPattern = "";




// Convert the left hand numbers.


sLeftPattern = ConvertLeftPattern( sTemp.Substring( 0, 7 ) );




// Build the UPC Code.


strbEAN13.AppendFormat( "{0}{1}{2}{3}{4}{1}{0}",


this._sQuiteZone, this._sLeadTail,


sLeftPattern,


this._sSeparator,


ConvertToDigitPatterns( sTemp.Substring( 7 ), this._aRight ) );




string sTempUPC = strbEAN13.ToString( );




float fTextHeight = g.MeasureString( sTempUPC, font ).Height;




// Draw the barcode lines.


for( int i = 0; i < strbEAN13.Length; i++ )




...{


if( sTempUPC.Substring( i, 1 ) == "1" )




...{


if( xStart == pt.X )


xStart = xPosition;




// Save room for the UPC number below the bar code.


if( ( i > 12 && i < 55 ) || ( i > 57 && i < 101 ) )


// Draw space for the number


g.FillRectangle( brush, xPosition, yStart, lineWidth, height - fTextHeight );


else


// Draw a full line.


g.FillRectangle( brush, xPosition, yStart, lineWidth, height );


}




xPosition += lineWidth;


xEnd = xPosition;


}




// Draw the upc numbers below the line.


xPosition = xStart - g.MeasureString( this.CountryCode.Substring( 0, 1 ), font ).Width;


float yPosition = yStart + ( height - fTextHeight );




// Draw 1st digit of the country code.


g.DrawString( sTemp.Substring( 0, 1 ), font, brush, new System.Drawing.PointF( xPosition, yPosition ) );




xPosition += ( g.MeasureString( sTemp.Substring( 0, 1 ), font ).Width + 43 * lineWidth ) -


( g.MeasureString( sTemp.Substring( 1, 6 ), font ).Width );




// Draw MFG Number.


g.DrawString( sTemp.Substring( 1, 6 ), font, brush, new System.Drawing.PointF( xPosition, yPosition ) );




xPosition += g.MeasureString( sTemp.Substring( 1, 6 ), font ).Width + ( 11 * lineWidth );




// Draw Product ID.


g.DrawString( sTemp.Substring( 7 ), font, brush, new System.Drawing.PointF( xPosition, yPosition ) );




// Restore the GraphicsState.


g.Restore( gs );


}






/**//// <summary>


/// System.Drawing.Graphics g, System.Drawing.Point pt


/// </summary>


/// <param name="g"></param>


/// <param name="pt"></param>


public void DrawEan13Barcode(int _width, int _height)




...{


float width = this.Width * this.Scale;


float height = this.Height * this.Scale;




// EAN13 Barcode should be a total of 113 modules wide.


float lineWidth = width / 113f;




System.Drawing.Bitmap image = new Bitmap(_width,_height);//new System.Drawing.Bitmap((int)Math.Ceiling((13 * 12.5)), 50);


System.Drawing.Graphics g = Graphics.FromImage(image);


System.Drawing.Brush brush = new System.Drawing.SolidBrush(System.Drawing.Color.Black);


System.Drawing.Rectangle drawBounds = new Rectangle(0,0,_width,_height);


System.Drawing.Point pt = new Point(0,0);


g.FillRectangle(brush,drawBounds);




g.Clear(Color.White);


// Save the GraphicsState.


System.Drawing.Drawing2D.GraphicsState gs = g.Save( );




// Set the PageUnit to Inch because all of our measurements are in inches.


g.PageUnit = System.Drawing.GraphicsUnit.Millimeter;




// Set the PageScale to 1, so a millimeter will represent a true millimeter.


g.PageScale = 1;




//System.Drawing.SolidBrush brush = new System.Drawing.SolidBrush( System.Drawing.Color.Black );




float xPosition = 0;




System.Text.StringBuilder strbEAN13 = new System.Text.StringBuilder( );


System.Text.StringBuilder sbTemp = new System.Text.StringBuilder( );




float xStart = pt.X;


float yStart = pt.Y;


float xEnd = 0;




System.Drawing.Font font = new System.Drawing.Font( "Arial", this._fFontSize * this.Scale );




// Calculate the Check Digit.


this.CalculateChecksumDigit( );




sbTemp.AppendFormat( "{0}{1}{2}{3}",


this.CountryCode,


this.ManufacturerCode,


this.ProductCode,


this.ChecksumDigit );






string sTemp = sbTemp.ToString( );




string sLeftPattern = "";




// Convert the left hand numbers.


sLeftPattern = ConvertLeftPattern( sTemp.Substring( 0, 7 ) );




// Build the UPC Code.


strbEAN13.AppendFormat( "{0}{1}{2}{3}{4}{1}{0}",


this._sQuiteZone, this._sLeadTail,


sLeftPattern,


this._sSeparator,


ConvertToDigitPatterns( sTemp.Substring( 7 ), this._aRight ) );




string sTempUPC = strbEAN13.ToString( );




float fTextHeight = g.MeasureString( sTempUPC, font ).Height;




// Draw the barcode lines.


for( int i = 0; i < strbEAN13.Length; i++ )




...{


if( sTempUPC.Substring( i, 1 ) == "1" )




...{


if( xStart == pt.X )


xStart = xPosition;




// Save room for the UPC number below the bar code.


if( ( i > 12 && i < 55 ) || ( i > 57 && i < 101 ) )


// Draw space for the number


g.FillRectangle( brush, xPosition, yStart, lineWidth, height - fTextHeight );


else


// Draw a full line.


g.FillRectangle( brush, xPosition, yStart, lineWidth, height );


}




xPosition += lineWidth;


xEnd = xPosition;


}




// Draw the upc numbers below the line.


xPosition = xStart - g.MeasureString( this.CountryCode.Substring( 0, 1 ), font ).Width;


float yPosition = yStart + ( height - fTextHeight );




// Draw 1st digit of the country code.


g.DrawString( sTemp.Substring( 0, 1 ), font, brush, new System.Drawing.PointF( xPosition, yPosition ) );




xPosition += ( g.MeasureString( sTemp.Substring( 0, 1 ), font ).Width + 43 * lineWidth ) -


( g.MeasureString( sTemp.Substring( 1, 6 ), font ).Width );




// Draw MFG Number.


g.DrawString( sTemp.Substring( 1, 6 ), font, brush, new System.Drawing.PointF( xPosition, yPosition ) );




xPosition += g.MeasureString( sTemp.Substring( 1, 6 ), font ).Width + ( 11 * lineWidth );




// Draw Product ID.


g.DrawString( sTemp.Substring( 7 ), font, brush, new System.Drawing.PointF( xPosition, yPosition ) );




// Restore the GraphicsState.


g.Restore( gs );


g.Dispose();




System.IO.MemoryStream ms = new System.IO.MemoryStream();


image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);


HttpContext.Current.Response.ClearContent();


HttpContext.Current.Response.ContentType = "image/Gif";


HttpContext.Current.Response.BinaryWrite(ms.ToArray());


}






public System.Drawing.Bitmap CreateBitmap( )




...{


float tempWidth = ( this.Width * this.Scale ) * 100 ;


float tempHeight = ( this.Height * this.Scale ) * 100;




System.Drawing.Bitmap bmp = new System.Drawing.Bitmap( (int)tempWidth, (int)tempHeight );




System.Drawing.Graphics g = System.Drawing.Graphics.FromImage( bmp );


this.DrawEan13Barcode( g, new System.Drawing.Point( 0, 0 ) );


g.Dispose( );


return bmp;


}






private string ConvertLeftPattern( string sLeft )




...{


switch( sLeft.Substring( 0, 1 ) )




...{


case "0":


return CountryCode0( sLeft.Substring( 1 ) );




case "1":


return CountryCode1( sLeft.Substring( 1 ) );




case "2":


return CountryCode2( sLeft.Substring( 1 ) );




case "3":


return CountryCode3( sLeft.Substring( 1 ) );




case "4":


return CountryCode4( sLeft.Substring( 1 ) );




case "5":


return CountryCode5( sLeft.Substring( 1 ) );




case "6":


return CountryCode6( sLeft.Substring( 1 ) );




case "7":


return CountryCode7( sLeft.Substring( 1 ) );




case "8":


return CountryCode8( sLeft.Substring( 1 ) );




case "9":


return CountryCode9( sLeft.Substring( 1 ) );




default:


return "";


}


}






private string CountryCode0( string sLeft )




...{


// 0 Odd Odd Odd Odd Odd Odd


return ConvertToDigitPatterns( sLeft, this._aOddLeft );


}






private string CountryCode1( string sLeft )




...{


// 1 Odd Odd Even Odd Even Even


System.Text.StringBuilder sReturn = new StringBuilder( );


// The two lines below could be replaced with this:


// sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 0, 2 ), this._aOddLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 0, 1 ), this._aOddLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 1, 1 ), this._aOddLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 2, 1 ), this._aEvenLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 3, 1 ), this._aOddLeft ) );


// The two lines below could be replaced with this:


// sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 4, 2 ), this._aEvenLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 4, 1 ), this._aEvenLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 5, 1 ), this._aEvenLeft ) );


return sReturn.ToString( );


}






private string CountryCode2( string sLeft )




...{


// 2 Odd Odd Even Even Odd Even


System.Text.StringBuilder sReturn = new StringBuilder( );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 0, 1 ), this._aOddLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 1, 1 ), this._aOddLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 2, 1 ), this._aEvenLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 3, 1 ), this._aEvenLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 4, 1 ), this._aOddLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 5, 1 ), this._aEvenLeft ) );


return sReturn.ToString( );


}






private string CountryCode3( string sLeft )




...{


// 3 Odd Odd Even Even Even Odd


System.Text.StringBuilder sReturn = new StringBuilder( );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 0, 1 ), this._aOddLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 1, 1 ), this._aOddLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 2, 1 ), this._aEvenLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 3, 1 ), this._aEvenLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 4, 1 ), this._aEvenLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 5, 1 ), this._aOddLeft ) );


return sReturn.ToString( );


}






private string CountryCode4( string sLeft )




...{


// 4 Odd Even Odd Odd Even Even


System.Text.StringBuilder sReturn = new StringBuilder( );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 0, 1 ), this._aOddLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 1, 1 ), this._aEvenLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 2, 1 ), this._aOddLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 3, 1 ), this._aOddLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 4, 1 ), this._aEvenLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 5, 1 ), this._aEvenLeft ) );


return sReturn.ToString( );


}






private string CountryCode5( string sLeft )




...{


// 5 Odd Even Even Odd Odd Even


System.Text.StringBuilder sReturn = new StringBuilder( );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 0, 1 ), this._aOddLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 1, 1 ), this._aEvenLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 2, 1 ), this._aEvenLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 3, 1 ), this._aOddLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 4, 1 ), this._aOddLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 5, 1 ), this._aEvenLeft ) );


return sReturn.ToString( );


}






private string CountryCode6( string sLeft )




...{


// 6 Odd Even Even Even Odd Odd


System.Text.StringBuilder sReturn = new StringBuilder( );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 0, 1 ), this._aOddLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 1, 1 ), this._aEvenLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 2, 1 ), this._aEvenLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 3, 1 ), this._aEvenLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 4, 1 ), this._aOddLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 5, 1 ), this._aOddLeft ) );


return sReturn.ToString( );


}






private string CountryCode7( string sLeft )




...{


// 7 Odd Even Odd Even Odd Even


System.Text.StringBuilder sReturn = new StringBuilder( );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 0, 1 ), this._aOddLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 1, 1 ), this._aEvenLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 2, 1 ), this._aOddLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 3, 1 ), this._aEvenLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 4, 1 ), this._aOddLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 5, 1 ), this._aEvenLeft ) );


return sReturn.ToString( );


}






private string CountryCode8( string sLeft )




...{


// 8 Odd Even Odd Even Even Odd


System.Text.StringBuilder sReturn = new StringBuilder( );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 0, 1 ), this._aOddLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 1, 1 ), this._aEvenLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 2, 1 ), this._aOddLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 3, 1 ), this._aEvenLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 4, 1 ), this._aEvenLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 5, 1 ), this._aOddLeft ) );


return sReturn.ToString( );


}






private string CountryCode9( string sLeft )




...{


// 9 Odd Even Even Odd Even Odd


System.Text.StringBuilder sReturn = new StringBuilder( );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 0, 1 ), this._aOddLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 1, 1 ), this._aEvenLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 2, 1 ), this._aEvenLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 3, 1 ), this._aOddLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 4, 1 ), this._aEvenLeft ) );


sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 5, 1 ), this._aOddLeft ) );


return sReturn.ToString( );


}






private string ConvertToDigitPatterns( string inputNumber, string [] patterns )




...{


System.Text.StringBuilder sbTemp = new StringBuilder( );


int iIndex = 0;


for( int i = 0; i < inputNumber.Length; i++ )




...{


iIndex = Convert.ToInt32( inputNumber.Substring( i, 1 ) );


sbTemp.Append( patterns[iIndex] );


}


return sbTemp.ToString( );


}






public void CalculateChecksumDigit( )




...{


string sTemp = this.CountryCode + this.ManufacturerCode + this.ProductCode;


int iSum = 0;


int iDigit = 0;




// Calculate the checksum digit here.


for( int i = sTemp.Length; i >= 1; i-- )




...{


iDigit = Convert.ToInt32( sTemp.Substring( i - 1, 1 ) );


if( i % 2 == 0 )




...{ // odd


iSum += iDigit * 3;


}


else




...{ // even


iSum += iDigit * 1;


}


}




int iCheckSum = ( 10 - ( iSum % 10 ) ) % 10;


this.ChecksumDigit = iCheckSum.ToString( );




}








-- Attributes/Properties --#region -- Attributes/Properties --




public string Name




...{


get




...{


return _sName;


}


}




public float MinimumAllowableScale




...{


get




...{


return _fMinimumAllowableScale;


}


}




public float MaximumAllowableScale




...{


get




...{


return _fMaximumAllowableScale;


}


}




public float Width




...{


get




...{


return _fWidth;


}


}




public float Height




...{


get




...{


return _fHeight;


}


}




public float FontSize




...{


get




...{


return _fFontSize;


}


}




public float Scale




...{


get




...{


return _fScale;


}




set




...{


if( value < this._fMinimumAllowableScale || value > this._fMaximumAllowableScale )


throw new Exception( "Scale value out of allowable range. Value must be between " +


this._fMinimumAllowableScale.ToString( ) + " and " +


this._fMaximumAllowableScale.ToString( ) );


_fScale = value;


}


}




public string CountryCode




...{


get




...{


return _sCountryCode;


}




set




...{


while( value.Length < 2 )




...{


value = "0" + value;


}


_sCountryCode = value;


}


}




public string ManufacturerCode




...{


get




...{


return _sManufacturerCode;


}




set




...{


_sManufacturerCode = value;


}


}




public string ProductCode




...{


get




...{


return _sProductCode;


}




set




...{


_sProductCode = value;


}


}




public string ChecksumDigit




...{


get




...{


return _sChecksumDigit;


}




set




...{


int iValue = Convert.ToInt32( value );


if( iValue < 0 || iValue > 9 )


throw new Exception( "The Check Digit must be between 0 and 9." );


_sChecksumDigit = value;


}


}




#endregion -- Attributes/Properties --




}


}

调用文件为ean13barcode.aspx,代码如下:




<%...@ Page language="c#" Codebehind="ean13barcode.aspx.cs" AutoEventWireup="false" Inherits="WEB.WebForm1" %>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >


<HTML>


<HEAD>


<title>WebForm1</title>


<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">


<meta name="CODE_LANGUAGE" Content="C#">


<meta name="vs_defaultClientScript" content="JavaScript">


<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">


</HEAD>


<body MS_POSITIONING="GridLayout">


<form id="Form1" method="post" runat="server">


</form>


</body>


</HTML>



后台ean13barcode.aspx.cs代码:


using System;


using System.Collections;


using System.ComponentModel;


using System.Data;


using System.Drawing;


using System.Web;


using System.Web.SessionState;


using System.Web.UI;


using System.Web.UI.WebControls;


using System.Web.UI.HtmlControls;




namespace WEB




...{




/**//// <summary>


/// WebForm1 的摘要说明。


/// </summary>


public class WebForm1 : System.Web.UI.Page




...{


private void Page_Load(object sender, System.EventArgs e)




...{


// 在此处放置用户代码以初始化页面


if(!Page.IsPostBack)




...{


PrintCode();


}


}






Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码


override protected void OnInit(EventArgs e)




...{


//


// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。


//


InitializeComponent();


base.OnInit(e);


}






/**//// <summary>


/// 设计器支持所需的方法 - 不要使用代码编辑器修改


/// 此方法的内容。


/// </summary>


private void InitializeComponent()




...{


this.Load += new System.EventHandler(this.Page_Load);


}


#endregion






/**//// <summary>


/// 生成条形码


/// </summary>


private void PrintCode()




...{


Utility.EAN13BarCode ean13 = new Utility.EAN13BarCode();


ean13.CountryCode = "692";


ean13.ManufacturerCode = "000";


ean13.ProductCode = "012345";




ean13.Scale = (float)Convert.ToDecimal(1.5f);


ean13.DrawEan13Barcode(349,240);


}


}


}



在前台如果需要生成图像的话,可以如下调用:
<img src="ean13barcode.aspx" border="0" />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: