最近在做单据打印,发现客户要求用到条形码,在网上找了,发现只有一些条形码的标准,但打出来发现根本不能扫,还要加某些字体.
以下代码经过实际扫描测试~!
原创,转载请说明~!
[code=C#]
/// <summary>
/// 生成条形码( 128条码,标准参考:GB/T 18347-2001 )
/// BY JUNSON 20090508
/// </summary>
public class BarCode
{
/// <summary>
/// 条形码生成函数
/// </summary>
/// <param name="text">条型码字串</param>
/// <returns></returns>
public static Bitmap BuildBarCode(string text)
{
//查检是否合条件TEXT
bool ck = CheckErrerCode(text);
if (!ck)
throw new Exception("条形码字符不合要求,不能是汉字或全角字符");
string barstring = BuildBarString(text);
return KiCode128C(barstring, 30);
}
/// <summary>
/// 建立条码字符串
/// </summary>
/// <param name="tex">条码内容</param>
/// <returns></returns>
private static string BuildBarString(string tex)
{
string barstart = "bbsbssbssss"; //码头
string barbody = ""; //码身
string barcheck = ""; //码检
string barend = "bbsssbbbsbsbb"; //码尾