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

本文档介绍如何在ASP.NET WebForm中实现EAN13条形码的生成。通过创建一个名为EAN13BarCode的类,利用C#代码处理条形码的各个部分,包括国家代码、制造商代码、产品代码和校验位。类提供了绘制条形码的方法,可以在网页上显示条形码图像。
        做一个项目需要用到条形码,在网上搜索一下,基本上都是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( 07 ) );

            
// 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.
            forint 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( 01 ), font ).Width;
            
float yPosition = yStart + ( height - fTextHeight );

            
// Draw 1st digit of the country code.
            g.DrawString( sTemp.Substring( 01 ), font, brush, new System.Drawing.PointF( xPosition, yPosition ) );

            xPosition 
+= ( g.MeasureString( sTemp.Substring( 01 ), font ).Width + 43 * lineWidth ) -
                ( g.MeasureString( sTemp.Substring( 
16 ), font ).Width );

            
// Draw MFG Number.
            g.DrawString( sTemp.Substring( 16 ), font, brush,    new System.Drawing.PointF( xPosition, yPosition ) );

            xPosition 
+= g.MeasureString( sTemp.Substring( 16 ), 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( 07 ) );

            
// 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.
            forint 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( 01 ), font ).Width;
            
float yPosition = yStart + ( height - fTextHeight );

            
// Draw 1st digit of the country code.
            g.DrawString( sTemp.Substring( 01 ), font, brush, new System.Drawing.PointF( xPosition, yPosition ) );

            xPosition 
+= ( g.MeasureString( sTemp.Substring( 01 ), font ).Width + 43 * lineWidth ) -
                ( g.MeasureString( sTemp.Substring( 
16 ), font ).Width );

            
// Draw MFG Number.
            g.DrawString( sTemp.Substring( 16 ), font, brush,    new System.Drawing.PointF( xPosition, yPosition ) );

            xPosition 
+= g.MeasureString( sTemp.Substring( 16 ), 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( 00 ) );
            g.Dispose( );
            
return bmp;
        }



        
private string ConvertLeftPattern( string sLeft )
        
{
            
switch( sLeft.Substring( 01 ) )
            
{
                
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( 01 ), this._aOddLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
11 ), this._aOddLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
21 ), this._aEvenLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
31 ), 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( 41 ), this._aEvenLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
51 ), 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( 
01 ), this._aOddLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
11 ), this._aOddLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
21 ), this._aEvenLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
31 ), this._aEvenLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
41 ), this._aOddLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
51 ), 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( 
01 ), this._aOddLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
11 ), this._aOddLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
21 ), this._aEvenLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
31 ), this._aEvenLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
41 ), this._aEvenLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
51 ), 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( 
01 ), this._aOddLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
11 ), this._aEvenLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
21 ), this._aOddLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
31 ), this._aOddLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
41 ), this._aEvenLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
51 ), 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( 
01 ), this._aOddLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
11 ), this._aEvenLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
21 ), this._aEvenLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
31 ), this._aOddLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
41 ), this._aOddLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
51 ), 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( 
01 ), this._aOddLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
11 ), this._aEvenLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
21 ), this._aEvenLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
31 ), this._aEvenLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
41 ), this._aOddLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
51 ), 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( 
01 ), this._aOddLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
11 ), this._aEvenLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
21 ), this._aOddLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
31 ), this._aEvenLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
41 ), this._aOddLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
51 ), 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( 
01 ), this._aOddLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
11 ), this._aEvenLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
21 ), this._aOddLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
31 ), this._aEvenLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
41 ), this._aEvenLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
51 ), 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( 
01 ), this._aOddLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
11 ), this._aEvenLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
21 ), this._aEvenLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
31 ), this._aOddLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
41 ), this._aEvenLeft ) );
            sReturn.Append( ConvertToDigitPatterns( sLeft.Substring( 
51 ), this._aOddLeft ) );
            
return sReturn.ToString( );
        }



        
private string ConvertToDigitPatterns( string inputNumber, string [] patterns )
        
{
            System.Text.StringBuilder sbTemp 
= new StringBuilder( );
            
int iIndex = 0;
            
forint 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.
            forint i = sTemp.Length; i >= 1; i-- )
            
{
                iDigit 
= Convert.ToInt32( sTemp.Substring( i - 11 ) );
                
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 -- -- 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 窗体设计器生成的代码

        
/// <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" />
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值