生成条码

先写一个类

#region Using directives

using System;
using System.Text;

#endregion

namespace Ean13Barcode2005
{
 public class
Ean13
 {
  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 Ean13( )
  {

}

public Ean13( string mfgNumber, string productId
)
  {
   this.CountryCode =
"00";
   this.ManufacturerCode =
mfgNumber;
   this.ProductCode =
productId;
   this.CalculateChecksumDigit(
);
  }

public Ean13( string countryCode, string mfgNumber, string
productId )
  {
   this.CountryCode =
countryCode;
   this.ManufacturerCode =
mfgNumber;
   this.ProductCode =
productId;
   this.CalculateChecksumDigit(
);
  }

public Ean13( string countryCode, string mfgNumber, string
productId, string checkDigit
)
  {
   this.CountryCode =
countryCode;
   this.ManufacturerCode =
mfgNumber;
   this.ProductCode =
productId;
   this.ChecksumDigit =
checkDigit;
  }

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;

// 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 );
  }

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( );

}

#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 mst be between 0 and 9."
);
    _sChecksumDigit =
value;
   }
  }

#endregion -- Attributes/Properties --

}
}

这是后台代码

using System;
using System.Drawing;
using System.Collections;
using
System.Collections.Generic;
using System.ComponentModel;
using
System.Windows.Forms;
using System.Data;

namespace Ean13Barcode2005
{
 /// <summary>
 ///
Summary description for Form1.
 /// </summary>
 partial
class frmEan13 : Form
 {
  private Ean13 ean13 = null;

public frmEan13(
)
  {
   InitializeComponent(
);
   cboScale.SelectedIndex = 2;
  }

private void CreateEan13(
)
  {
   ean13 = new Ean13(
);
   ean13.CountryCode =
txtCountryCode.Text;
   ean13.ManufacturerCode =
txtManufacturerCode.Text;
   ean13.ProductCode =
txtProductCode.Text;
   if( txtChecksumDigit.Text.Length >
0 )
    ean13.ChecksumDigit =
txtChecksumDigit.Text;
  }

private void butDraw_Click(object sender, EventArgs
e)
  {
   System.Drawing.Graphics g =
this.picBarcode.CreateGraphics( );

g.FillRectangle( new System.Drawing.SolidBrush(
System.Drawing.SystemColors.Control ),
    new Rectangle(
0, 0, picBarcode.Width, picBarcode.Height ) );

CreateEan13( );
   ean13.Scale =
(float)Convert.ToDecimal( cboScale.Items [cboScale.SelectedIndex]
);
   ean13.DrawEan13Barcode( g, new System.Drawing.Point( 0,
0 ) );
   txtChecksumDigit.Text =
ean13.ChecksumDigit;
   g.Dispose( );
  }

private void butPrint_Click(object sender, EventArgs
e)
  {
   System.Drawing.Printing.PrintDocument
pd = new System.Drawing.Printing.PrintDocument(
);
   pd.PrintPage += new
System.Drawing.Printing.PrintPageEventHandler( this.pd_PrintPage
);
   pd.Print( );
  }

private void pd_PrintPage( object sender,
System.Drawing.Printing.PrintPageEventArgs ev
)
  {
   CreateEan13(
);
   ean13.Scale = ( float )Convert.ToDecimal( cboScale.Items
[cboScale.SelectedIndex] );
   ean13.DrawEan13Barcode(
ev.Graphics, new System.Drawing.Point( 0, 0 )
);
   txtChecksumDigit.Text = ean13.ChecksumDigit;

// Add Code here to print other
information.
   ev.Graphics.Dispose( );
  }

private void butCreateBitmap_Click(object sender, EventArgs
e)
  {
   CreateEan13(
);
   ean13.Scale = ( float )Convert.ToDecimal( cboScale.Items
[cboScale.SelectedIndex] );

System.Drawing.Bitmap bmp = ean13.CreateBitmap(
);
   this.picBarcode.Image = bmp;
  }

}
}

时间: 2025-01-04 05:48:04

生成条码的相关文章

c#生成条码的web控件

原文:http://www.codeproject.com/Tips/846860/Csharp-Barcode-Generator-Web-Control 在asp.net的web页用c#的web控件生成条码. 简介: 我在一个小公司工作,几天前有人询问在asp页面生成条码的方法.我在谷歌上搜了一圈,大多数生成条码实在asp的”page_load”方法里通过Response.OutputStream来保存条码图片,这种方案,只能在页面上显示一个相同的条码.但是不能满足需求.该页面至少要显示2个

servlet中用ZXing生成条码二维码并输出到web页面的示例

1.生成条码的servlet代码: import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletR

中琅条码打印软件中如何批量生成条码

在使用中琅领跑条码打印软件制作商品标签过程中,经常需要大批量的根据我们的条码数据,批量生成条形码.一般来说这些数据是根据中国物品编码中心下发的厂商识别代码,加上商品标签申请单位商品的一些信息数字组合而成,为了方便管理和使用,一般存为excel,txt等文档.借助中琅领跑条码标签打印软件,我们可以通过导入数据源的方式批量生成条形码,那么具体如何操作呢,这里就以txt形式的文档为例,和大家分享一下在中琅条码打印软件中如何批量的生成条码.首先打开中琅领跑条码打印软件,新建一个标签纸张,因为是基本操作分

java生成条码号的源码

在实际业务中会有很多通过和流水号拼接,形成一个用户唯一id的标识.由于本次用的是和oracle数据库结合,所以会用到oracle的序列,为了演示方便,所以把动态得到的序列号写成了静态的了.具体源码如下: package com.evan.string; import java.text.SimpleDateFormat; public class BarcodeGenerateTest { public static void main(String[] args) { String dept

Java生成条码二维码

一.概述 可用barcode4j或zxing等第三方库,推荐zxing. barcode4j资料链接:http://barcode4j.sourceforge.net/ zxing资料链接:https://github.com/zxing/zxing 二.barcode4j 关键代码: DataMatrixBean bean = new DataMatrixBean(); final int dpi = 800; String format = "image/png"; ByteArr

C#条码生成及打印实例代码

string BarcodeString = "13043404455";//条码 int ImgWidth = 520; int ImgHeight = 120; //打印按钮 private void button1_Click(object sender, EventArgs e) { //实例化打印对象 PrintDocument printDocument1 = new PrintDocument(); //设置打印用的纸张,可以自定义纸张的大小(单位:mm). 当打印高度不

实时打印与条码动态生成

如今条码已经在各行各业被普遍的使用,下面介绍我在制造行业动态生成条码的方法. 对于一个条码来说,一般包含如下几个部分内容:日期.流水号.特殊字符. 要生成一个条码,首先要给这些内容设置一个组合规则,可以是日期+特殊字符+流水,也可能是其他的.我们将规则使用Custom字段保存在数据库中.为了方便取值,规则名称统一设置成4个字符,下面是规则设置界面. 下面是Custom保存的数据内容: 工厂代码SK&班次代码&玻璃种类0&电池类型P&电池厂家&电池效率&生产日

BarCode Reader SDK使用教程:用VB6实现条码的生成和读取

如何用VB6生成和读取条码?今天给大家分享两段VB6代码,关于在BarCode Reader SDK条码的生成和读取. 生成条码: Set <span data-scayt_word="bc" data-scaytid="8">bc</span> = <span data-scayt_word="CreateObject" data-scaytid="10">CreateObject<

RDLC系列之七 条码打印

参考: C# 条码标签打印程序,RDLC报表动态显示多条码标签的方法 http://www.cnblogs.com/vice/p/4105898.html 我做的思路是:不使用数据库存储image的byte[]数据,而是首先将所有需要的条码数据保存到一个数据库表中,然后在需要将条码显示到RDLC报表中时,取得表中的条码数据,然后创建数据集(用于存储报表中需要用到的所有数据),再将每条条码数据用barcodelib.dll生成条码对象,返回image对象,再使用下面方法将返回的image对象转换为