条形码net
1、.net 条形码
如果要生成条形码,
1、首先需要确定编码方式,一般企业用code128的编码
2、然后找到对应编码的字库并安装,code128有字库(在字库网下载,百度搜一下code128.ttf文件,其他的编码方式用其他的文件,如果没有,那就得自己0101的绘制黑白线了哦),下载字体文件后将其放入系统字体目录(一般是C:\window\font)
3、然后再有一个转换过程[PrintCodeStr = Convert(CodeStr)] 其中Codestr是要生成的条码字符串
4、然后直接调用条码字体(如code128)在图像组件上输出字符转PrintCodeStr。
5、所以问题的关键在于转换函数Convert,不同的编码可能实现不一样,有的可能不需要转换
code128的转换函数如下:(vs2010代码)
Public Shared Function StringToCode128(ByVal input As String) As String
Try
Dim endchar As Char
Dim total As Int64 = 104
Dim tmp As Integer
For i As Int16 = 1 To input.Length
tmp = Asc(input.Substring(i - 1, 1))
If tmp >= 32 Then
total += (tmp - 32) * i
Else
total += (tmp + 64) * i
End If
Next
Dim endAsc = total Mod 103
If endAsc >= 95 Then
Select Case endAsc
Case 95
endchar = "Ã"
Case 96
endchar = "Ä"
Case 97
endchar = "Å"
Case 98
endchar = "Æ"
Case 99
endchar = "Ç"
Case 100
endchar = "È"
Case 101
endchar = "É"
Case 102
endchar = "Ê"
End Select
Else
endAsc += 32
endchar = Chr(endAsc)
End If
Return "Ì" & input & endchar.ToString() & "Î"
Catch ex As Exception
'WriteLog(ex.Message, ex.StackTrace)
Return String.Empty
Finally
End Try
End Function
绘制条码函数:
Public Shared Function DrawBarcode(ByVal Code As String) As Bitmap
Dim bm As New Bitmap(400, 100)
Dim g As Graphics = Graphics.FromImage(bm)
Dim f As New Font("Code 128", 12, FontStyle.Regular, GraphicsUnit.Millimeter, 0)
g.DrawString(StringToCode128(Code), f, Brushes.Black, -16, 0)
g.FillRectangle(Brushes.White, 0, 22, 400, 100)
f = New Font("Arial", 12, FontStyle.Bold, GraphicsUnit.Pixel, 0)
g.DrawString(Code, f, Brushes.Black, 0, 21)
Return bm
End Function
2、如何 在 net 下使用 zint 生成条形码
Class.forName(className) 实际上是调用Class.forName(className, true, this.getClass().getClassLoader())。注意第二个参数,是指Class被loading后是不是必须被初始化。 ClassLoader.loadClass(className)实际上调用的是ClassLoader.loadClass(name, false),第二个参数指出Class是否被link。 区别就出来了。Class.forName(className)装载的class已经被初始化,而ClassLoader.loadClass(className)装载的class还没有被link
3、如何在vb.net 中录入条形码字符,谢谢
93条码和CODE39一样,起始符和结束符都是*号,你做的条码扫描不出来的原因,估计和校验码有关。93条码规定在数据的最后有两个校验位C和K,如果你的数据里没有生成这两个校验位,那肯定是无法扫描的。
4、条形码分为几种
条形码
条形码是迄今为止最经济、实用的一种自动识别技术。条形码技术具有以下几个方面的优点 A.输入速度快:与键盘输入相比,条形码输入的速度是键盘输入的5倍,并且能实现"即时数据输入"。 B.可靠性高:键盘输入数据出错率为三百分之一,利用光学字符识别技术出错率为万分之一,而采用条形码技术误码率低于百万分之一。 C.采集信息量大:利用传统的一维条形码一次可采集几十位字符的信息,二维条形码更可以携带数千个字符的信息,并有一定的自动纠错能力。 D.灵活实用:条形码标识既可以作为一种识别手段单独使用,也可以和有关识别设备组成一个系统实现自动化识别,还可以和其他控制设备联接起来实现自动化管理。 另外,条形码标签易于制作,对设备和材料没有特殊要求,识别设备操作容易,不需要特殊培训,且设备也相对便宜。 编码规则 唯一性:同种规格同种产品对应同一个产品代码,同种产品不同规格应对应不同的产品代码。根据产品的不同性质,如:重量、包装、规格、气味、颜色、形状等等,赋予不同的商品代码。 永久性:产品代码一经分配,就不再更改,并且是终身的。当此种产品不再生产时,其对应的产品代码只能搁置起来,不得重复起用再分配给其它的商品。 无含义:为了保证代码有足够的容量以适应产品频繁的更新换代的需要,最好采用无含义的顺序码。 条形码的码制区别 UPC:(统一产品代码) 只能表示数字有A、B、C、D、E四个版本 版本 A - 12 位数字 版本 E - 7 位数字 最后一位为校验位 大小是宽1.5" 高1 " ,而且背景要与清晰 主要使用于美国和加拿大地区,用于工业、医药、仓库等部门。当UPC 作为十二位进行解码时,定义如下: 第一位 = 数字标识 (已经由UCC(统一代码委员会)所建立). 第2-6位 = 生产厂家的标识号(包括第一位) 第7-11 = 唯一的厂家产品代码 第12位 = 校验位(used for error detection) Code 3 of 9 : 能表示字母、数字和其它一些符号共43个字符:A -Z,0 - 9,-.$/+%,pace 条形码的长度是可变化的,通常用“*”号作为起始、终止符校验码不用代码密度介于3 - 9.4个字符/每英寸,空白区是窄条的10倍,用于工业、图书、以及票证自动化管理上。 Code 128: 表示高密度数据, 字符串可变长,符号内含校验码,有三种不同版本: A, B, and C 可用128个字符分别在 A, B, or C 三个字符串集合中,用于工业、仓库、零售批发。 Interleaved 2-of-5 (I2 of 5): 只能表示数字0 -9 可变长度,连续性条形码,所有条与空都表示代码,第一个数字由条开始,第二个数字由空组成 空白区比窄条宽10倍,应用于商品批发、仓库、机场、生产/包装识别、工业中,条形码的识读率高,可适用于固定扫描器可靠扫描,在所有一维条形码中的密度最高。 Codabar(库德巴条形码): 可表示数字0 - 9,字符$、+、 -、还有只能用作起始/终止符的a, b, c d四个字符,可变长度,没有校验位,应用于物料管理、图书馆、血站和当前的机场包裹发送中,空白区比窄条宽10,非连续性条形码,每个字符表示为4条3空。 PDF417 (二维码): 多行组成的条形码,不需要连接一个数据库,本身可存储大量数据,应用于:医院、驾驶证、物料管理、货物运输,当条形码受一定破坏时,错误纠正能使条形码能正确解码PDF417, 是Symbol科技公司于1990研制产品。它是一个多行、连续性、可变长、包含大量数据的符号标识。每个条形码有3 - 90行,每一行有一个起始部分、数据部分、终止部分。它的字符集包括所有128个字符,最大数据含量是1850个字符。 一维条形码只是在一个方向(一般是水平方向)表达信息,而在垂直方向则不表达任何信息,其一定的高度通常是为了便于阅读器的对准。 一维条形码的应用可以提高信息录入的速度,减少差错率,但是一维条形码也存在一些不足之处: * 数据容量较小: 30个字符左右 * 只能包含字母和数字 * 条形码尺寸相对较大(空间利用率较低) * 条形码遭到损坏后便不能阅读 在水平和垂直方向的二维空间存储信息的条形码, 称为二维条形码(2-dimensional bar code)。 与一维条形码一样,二维条形码也有许多不同的编码方法,或称码制。就这些码制的编码原理而言,通常可分为以下三种类型 1. 线性堆叠式二维码 是在一维条形码编码原理的基础上,将多个一维码在纵向堆叠而产生的。典型的码制如:Code 16K、Code 49、PDF417等。 2. 矩阵式二维码 是在一个矩形空间通过黑、白像素在矩阵中的不同分布进行编码。典型的码制如: Aztec、Maxi Code、QR Code、 Data Matrix等。 3. 邮政码 通过不同长度的条进行编码,主要用于邮件编码,如:Postnet、BPO 4-State。 在许多种类的二维条形码中,常用的码制有:Data Matrix, Maxi Code, Aztec, QR Code, Vericode, PDF417, Ultracode, Code 49, Code 16K 等,其中: * Data Matrix 主要用于电子行业小零件的标识,如Intel的奔腾处理器的背面就印制了这种码。 * Maxi Code 是由美国联合包裹服务(UPS)公司研制的,用于包裹的分拣和跟踪。 * Aztec 是由美国韦林(Welch Allyn)公司推出的,最多可容纳3832个数字或3067个字母字符或1914个字节的数据。 下面,我们以PDF417码为例,介绍二维条形码的特性和特点。 一)PDF417简介 PDF417码是由留美华人王寅敬(音)博士发明的。PDF是取英文Portable Data File三个单词的首字母的缩写,意为“便携数据文件”。因为组成条形码的每一符号字符都是由4个条和4个空构成,如果将组成条形码的最窄条或空称为一个模块,则上述的4个条和4个空的总模块数一定为17,所以称417码或PDF417码。 二)PDF417的特点 1. 信息容量大 PDF417码除可以表示字母、数字、ASCII字符外,还能表达二进制数。为了使得编码更加紧凑,提高信息密度,PDF417在编码时有三种格式: * 扩展的字母数字压缩格式 可容纳1850 个字符; * 二进制 / ASCII格式 可容纳1108 个字节; * 数字压缩格式 可容纳2710 个数字。 2. 错误纠正能力 一维条形码通常具有校验功能以防止错读,一旦条形码发生污损将被拒读。而二维条形码不仅能防止错误,而且能纠正错误,即使条形码部分损坏,也能将正确的信息还原出来。 3. 印制要求不高 普通打印设备均可打印,传真件也能阅读。 4. 可用多种阅读设备阅读 PDF417码可用带光栅的激光阅读器,线性及面扫描的图像式阅读器阅读。 5. 尺寸可调以适应不同的打印空间 6. 码制公开已形成国际标准,我国也已制定了417码的国标。 三)PDF417的纠错功能 二维条形码的纠错功能是通过将部分信息重复表示(冗余)来实现的。比如在PDF417码中,某一行除了包含本行的信息外,还有一些反映其它位置上的字符(错误纠正码)的信息。这样,即使当条形码的某部分遭到损坏,也可以通过存在于其它位置的错误纠正码将其信息还原出来。 PDF417的纠错能力依错误纠正码字数的不同分为0~8共9级,见图4,级别越高,纠正码字数越多,纠正能力越强,条形码也越大。当纠正等级为8时,即使条形码污损50%也能被正确读出。 四)PDF417的几种变形 PDF417还有几种变形的码制形式: * PDF417截短码 在相对“干净”的环境中,条形码损坏的可能性很小,则可将右边的行指示符省略并减少终止符。 * PDF417微码 进一步缩减的PDF码。 * 宏PDF417码 当文件内容太长,无法用一个PDF417码表示时,可用包含多个(1~99999个)条形码分块的宏PDF417码来表示。 二维条形码的优势 从以上的介绍可以看出,与一维条形码相比二维条形码有着明显的优势,归纳起来主要有以下几个方面: 一)数据容量更大 二)超越了字母数字的限制 三)条形码相对尺寸小 四)具有抗损毁能力 知道没?一样的啦,自己买两个相同的东西看看
5、如何用Barcode Professional SDK for NET打印条形码图像
如何使用PrintDocument类打印条形码图像
这是最简单的条形码打印方案。例如,假设您已经为PrintDocument's PrintPage事件设置了一个事件处理程序,在下列的代码中,文档/页面中处理器程序将会创建一个Barcode Professional对象并打印在指定位置生成的条形码图像。
6、条形码的图案是由什么和什么组成的
将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。通用商品条形码一般由前缀部分、制造厂商代码、商品代码和校验码组成。
商品条形码是指由一组规则排列的条、空及其对应字符组成的标识,用以表示一定的商品信息的 符号。其中条为深色、空为浅色,用于条形码识读 设备的扫描识读。其对应字符由一组阿拉伯数字组成,供人们直接识读或通过键盘 向计算机输入数据使用。这一组条空和相应的字符所表示的信息是相同的。
1、前缀码
商品条形码中的前缀码是用来标识国家或地区的代码,赋码权在国际物品编码协会,如 00-09代表美国、加拿大。45、49代表 日本。69代表中国大陆,471 代表中国台湾地区,489 代表香港特区。
2、制造厂商代码
制造厂商代码的赋权在各个国家或地区的物品编码组织,中国由国家物品编码中心赋予制造厂商代码。
3、商品代码
用来标识商品的代码,赋码权由产品生产企业自己行使,商品条形码。
4、校验码
商品条形码最后用1位校验码来校验商品条形码中左起第1-12数字代码的正确性。
(6)条形码net扩展资料
条形码的优点
1、输入速度快:与键盘输入相比,条形码输入的速度是键盘输入的5倍,并且能实现“即时数据输入”。
2、可靠性高:键盘输入数据出错率为三百分之一,利用光学字符识别技术出错率 为万分之一,而采用条形码技术误码率低于百万分之一。
3、采集信息量大:利用传统的一维条形码一次可采集几十位字符的信息,二维条形码更可以携带数千个字符的信息,并有一定的自动纠错能力。
4、灵活实用:条形码标识既可以作为一种识别手段单独使用,也可以和有关识别设备 组成一个系统实现自动化识别,还可以和其他控制设备联接起来实现自动化管理。
5、制作成本低:条形码标签易于制作,对设备和材料没有特殊 要求,识别设备操作容易,不需要特殊培训,且设备也相对便宜。
7、关于商品上的条形码,号码都代表什么啊?
条形码是把计算机所需的数据用一种条形码来表示,然后将条形码数据转换成计算机可以自动阅读的数据。
为什么要使用条码?
条码的应用有如下优越性:
1.可靠准确。有资料可查键盘输入平均每300个字符一个错误,而条码输入平均每15000个字符一个错误。如果 加上校验为位出错率是千万分之一。
2.数据输入速度快。键盘输入,一个每分钟打90个字的打字员1.6秒可输入12个字符或字符串,而使用条码,做 同样的工作只需0.3秒,速度提高了5倍。
3.经济便宜。与其它自动化识别技术相比较,推广应用条码技术,所需费用较长低。
4.灵活、实用。条码符号作为一种识别手段可以单独使用,也可以和有关设备组成识别系统实现自动化识别,还 可和其他控制设备联系起来实现整个系统的自动化管理。同时,在没有自动识别设备时,也可实现手工键盘输入。
5.自由度大。识别装置与条码标签相对位置的自由度要比OCR大得多。条码通常只在一维方向上表达信息,而同一 条码上所表示的信息完全相同并且连续,这样即使是标签有部分缺欠,仍可以从正常部分输入正确的信息。
6.设备简单。条码符号识别设备的结构简单,操作容易,无需专门训练。
7.易于制作。可印刷,称作为“可印刷的计算机语言”。条码标签易于制作,对印刷技术设备和材料无特殊要求。