返回顶部

条形码

      条形码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。常见的条形码是由反射率相差很大的黑条(简称条)和白条(简称空)排成的平行线图案。条形码可以标出物品的生产国、制造厂家、商品名称、生产日期、图书分类号、邮件起止地点、类别、日期等许多信息,因而在商品流通、图书管理、邮政管理、银行系统等许多领域都得到广泛的应用。

 

一维条形码

一维条形码只是在一个方向(一般是水平方向)表达信息,而在垂直方向则不表达任何信息,其一定的高度通常是为了便于阅读器的对准。

一维条形码的应用可以提高信息录入的速度,减少差错率,但是一维条形码也存在一些不足之处:

* 数据容量较小:30个字符左右

* 只能包含字母和数字

* 条形码尺寸相对较大(空间利用率较低)

* 条形码遭到损坏后便不能阅读

生成一维条形码的方法

先通过Visual Studio 2015的NuGet Package Manager下载安装Spire.Barcode

 

// 创建BarcodeSettings对象
BarcodeSettings settings = new BarcodeSettings();
// 设置条形码类型为EAN-13
settings.Type = BarCodeType.EAN13;
// 设置条形码数据
string tt = "111111789012";
settings.Data = tt;
// 使用校检和
settings.UseChecksum = CheckSumMode.ForceEnable;
//在底部显示条形码数据
settings.ShowTextOnBottom = true;
// 在底部显示条形码数据
settings.X = 1f;
// 初始化BarCodeGenerator对象, 传入以上设置
BarCodeGenerator generator = new BarCodeGenerator(settings);
//创建条形码图片并保存为PNG格式
Image image = generator.GenerateImage();
string ss = Server.MapPath("~/AAA/");
string path = ss + tt + ".png";
image.Save(path, System.Drawing.Imaging.ImageFormat.Png);
ViewBag.ww = "~/AAA/" + tt + ".png";

 

//视图

<img src="@Url.Content(@ViewBag.ww)"  />

 

二维条形码

在水平和垂直方向的二维空间存储信息的条形码, 称为二维条形码(2-dimensional bar code)。

与一维条形码一样,二维条形码也有许多不同的编码方法,或称码制。就这些码制的编码原理而言,通常可分为以下三种类型

 

⒈ 线性堆叠式二维码

是在一维条形码编码原理的基础上,将多个一维码在纵向堆叠而产生的。典型的码制如:Code 16K、Code 49.PDF417等。

2. 矩阵式二维码

是在一个矩形空间通过黑、白像素在矩阵中的不同分布进行编码。典型的码制如:Aztec、Maxi Code、QR Code、 Data Matrix等。

3. 邮政码

通过不同长度的条进行编码,主要用于邮件编码,如:Postnet、BPO 4-State。

 

网址二维码生成:

链接:https://pan.baidu.com/s/1Rc99C3w-OWxIX-z9XJfzuA

提取码:ryzp

 

链接:https://pan.baidu.com/s/1BzCep2W1wyaVx1F8bxZ0jQ

提取码:elri

 

//创建 BarcodeSettings 对象
BarcodeSettings settings = new BarcodeSettings();
//设M条码类型为二维码
settings.Type = BarCodeType.QRCode;
//设M二维码数据
string tt = "111111119";
settings.Data = tt;
//设M数据类型为数字
settings.QRCodeDataMode = QRCodeDataMode.Numeric;
//不显示文本
settings.ShowText = false;
//设M二维码错误修正级别
settings.QRCodeECL = QRCodeECL.H;
//设M宽度
settings.X = 2.0f;
//初始化 8arCodeGenerator 对象
BarCodeGenerator generator = new BarCodeGenerator(settings);
//创建二维码图片并保存为PNG格式 
Image image = generator.GenerateImage();
string ss= Server.MapPath("~/AAA/");
string path = ss + tt+".png";
image.Save(path);
ViewBag.ww = "~/AAA/"+ tt + ".png";

 

条码编码方式-----Code 39与code 128条形码的区别

CODE 39码的编码规则是:

1、 每五条线表示一个字符;

2、 粗线表示1,细线表示0;

3、 线条间的间隙宽的表示1,窄的表示0;

4、 五条线加上它们之间的四条间隙就是九位二进制编码,而且这九位中必定有三位是1,所以称为39码;

5、 条形码的首尾各一个*标识开始和结束

CODE 128介绍

CODE128是一种高效率条码. 它一共映射了106种编码, 每种编码针对不同版本的CODE128(CODE128A, CODE128B, CODE128C), 代表了不同的数据组合. 同时, 每种编码通过11个黑白条模块的组合实现. 终止符比较特殊,由13个模块组成.

CODE128码是广泛应用在企业内部管理、生产流程、物流控制系统方面的条码码制,由于其优良的特性在管理信息系统的设计中被广泛使用,CODE128码是应用最广泛的条码码制之一。
CODE128码是1981年引入的一种高密度条码,CODE128 码可表示从 ASCII 0 到ASCII 127 共128个字符,故称128码。其中包含了数字、字母和符号字符;

CODE 128 码的特点:
1.可表示高密度数据和字符串;
2.每个字符由3个条、3个空、11个单元构成,字符串可变长;
3.符号内含校验码;
4.有三种不同的版本:A(数字、大写字母、控制字符)B(数字、大小字母、字符)C(双位数字)
       CODE128A: 标准数字和字母, 控制符, 特殊字符 
       CODE128B: 标准数字和字母, 小写字母, 特殊字符 
       CODE128C: [00]-[99]的数字对集合, 共100个
5.可用128个字符分别在A、B或C三个字符串集合中。

CODE128 码与CODE39码的区别:
Code 128码与Code 39码有很多的相近性,都广泛运用在企业内部管理、生产流程、物流控制系统方面。不同的在于Code 128比Code 39能表现更多的字符,单位长度里的编码密度更高。当单位长度里不能容下Code 39编码或编码字符超出了Code 39的限制时,就可选择Code 128来编码。所以Code 128比Code 39更具灵性。

posted @ 2019-03-21 20:16  世界欠绘梨衣一场婚礼  阅读(735)  评论(0编辑  收藏  举报