澳门·沙金官方app下载

欢迎光临澳门·沙金官方app下载、条码扫描器、条码软件、条码标签、数据采集器,自动条码识别系统权威集成商Lesain澳门·沙金官方app下载条码 !

专注条码技术19年

条码系统应用集成服务提供商

中国·澳门·沙金官方app下载(股份)有限公司-官方网站



公司信息
解决方案
可视化语音拣货仓库的 易助ERP条码管理系统 易飞ERP条码管理系统 厂内智能物流管理系统 智能电子看板管理系统 采购条码管理系统 产品序列号管理系统 条码对比软件 标签打印软件 标签智能检测系统-一 标签连续打印检测与单 CIS标签连续打印检测 标签智能检测系统 标签AOI检测器产品介 CIS标签检测系统介绍 称重标签打印软件 海康威视视觉智能相机 斑马105SL Plus打印机 Honeywell 1900扫描枪 斑马ZT411打印机助力 斑马105SL Plus打印机 斑马ZT510打印机助力 斑马ZT610打印机助力 Honeywell 1900扫描枪 简单介绍斑马打印机是 斑马打印机助力塑料清 Honeywell 1900扫描枪 Honeywell 1900扫描枪 斑马ZT510打印机助力 斑马打印机赋能光学玻 斑马ZT411打印机在传 斑马打印机在塑料餐具 塑料容器智造新纪元: 斑马打印机赋能制冷电 斑马ZT610打印机在植 革新机电生产管理:斑 Honeywell 1900扫描枪 斑马ZT610打印机:赋 Honeywell 1900扫描枪 Honeywell 1900扫描枪 Honeywell 1902扫描枪 斑马ZT610打印机助力 涤纶纤维生产追溯新利 斑马打印机在有机化学 Honeywell 1902扫描枪 斑马ZT610打印机赋能 斑马打印机助力机织服 斑马打印机助力专项运 Honeywell 1902扫描枪 浅析斑马打印机是如何 斑马打印机助力安全用 斑马打印机为家用纺织 Honeywell 1902扫描枪 斑马ZT210打印机是如 Honeywell 1902扫描器 Honeywell 1902扫描枪 霍尼韦尔固定式扫描器 浅析斑马打印机是如何 浅析斑马打印机是如何 斑马zt610打印机为平 honeywell 1900扫描枪 斑马打印机为丝绸纺织 斑马ZT510打印机为工 浅析斑马打印机是如何 斑马ZT510打印机为食 斑马ZT510打印机为新 斑马zt610打印机为家 斑马zt510打印机是如 斑马打印机在金属工具 斑马ZT610打印机为中 Honeywell 1900扫描枪 斑马ZT510打印机为输 斑马ZT610为通用零部 斑马ZT610打印机为电 浅析honeywell 1900扫 浅析honeywell 1900扫 浅析斑马zt510打印机 浅析honeywell 1900扫 浅析斑马ZT610打印机 浅析斑马ZT610打印机 浅析斑马ZT610打印机 浅析Honeywell 1902扫 斑马zt510打印机是如 斑马zt510打印机是怎 Honeywell 1902扫描枪 斑马zt510打印机为环 Honeywell 1902扫描枪 斑马zt210打印机为陶 Honeywell 1902扫描枪 Honeywell 1902无线扫 Honeywell 1902扫描枪 斑马zt510打印机为工 Honeywell扫码枪为阀 斑马打印机为自动化控 Honeywell 1900扫描枪 Honeywell扫码枪为钛 斑马zt510打印机为纺 斑马zt610打印机为调 斑马zt510打印机为化 新大陆NVH220扫描枪为 honeywell 1900GHD扫 新大陆NVH220扫描枪为 斑马ZT210打印机在钟 新大陆NVH220扫码枪为 斑马zt210打印机为光 斑马ZT510打印机为环 斑马ZT210打印机为钟 斑马zt510打印机为塑 新大陆NVH220扫描枪为 斑马zt610打印机为光 斑马ZT510打印机为塑 斑马ZT610打印机为铜 霍尼韦尔扫码器针对肉 斑马打印机针对糖果制 Honeywell 1900GHD扫 honeywell 1900扫描枪 斑马ZT620打印机在显 Honeywell扫码枪在铜 新大陆NVH220在包装材 斑马zt620打印机在精 新大陆NVH220扫描枪在 斑马马ZT411打印机在 新大陆Soldier300固定 新大陆NVH220扫描枪针 斑马 ZT510 打印机在 斑马ZT610 600DPI打印 产线条码自动检测系统 酒类防伪标签追溯解决 金属加工企业仓库管理 工业流水线条码自动扫 机械行业生产管理解决 企业大型仓库条码管理 自动化装配生产线条码 工厂自动化流水线条码 家电行业生产销售管理 大型珠宝企业条码仓库 仓库物流条码管理解决 工业行业多个条码读取 工业产线自动条码检测 家具制造行业仓储管理 图书馆数字信息化管理 医疗废弃管理解决方案 汽车制造企业内部物流 码头集装箱高效调度和 固定资产管理解决方案 企业产品追溯解决方案 商场管理条码整体解决 Zebra ZT系列410打印 TSC打印机常见故障速 斑马GK888打半张闪红 更换斑马105SL打印机 如何更换斑马ZT410打
联系澳门·沙金官方app下载

电 话:13713178909

地 址:广东省东莞市南城区白马黄金路1号天安数码城A1栋1105

联系人:张先生
手机:13713178909

邮箱:kent@lesain.com

QQ:398405621

重庆分公司

联系人:李小姐
手机:18102328695

邮箱:aimee@lesain.com

地 址:重庆市南岸区茶园新区玉马路8号中国智能企业园D栋419

行业动态您当前位置:首页 > 打印条形码的两种方式

打印条形码的两种方式

中国·澳门·沙金官方app下载(股份)有限公司-官方网站 更新时间:12/23/2010 3:23:58 PM

一、直接利用有条形码打印功能的打印机

有许多打印机能够直接打印条形码,但在VB中,我们在DOS时代熟悉的LPRINT语句已经不能再使用了,打印操作被Windows的Spool系统完全接管,输出是以“页”为单位,所有的打印输出都被Windows转换为图形发送给打印驱动程序。而要使打印机打印条形码就必须将对应的ESC序列直接发送给它,因此我们就要想办法避开Windows的Spool系统,也就是说再程序中不能使用Printer对象和Printers集合处理打印输出,在VB中要将ESC指令直接发送给打印机至少有三种方法,前两种方法是调用WindowsAPI函数:Escape()和SpoolFile(),第三种是*容易的方法:打开打印机端口进行二进制存取,我们主要考虑这种方法。

即使在Windows时代,”LPT1:”和”PRN”仍然是可用的,下面我们先作一个试验:打开一个DOS窗口,在提示符下输入COPYCONLPT1:回车,然后随便输入一些字符,*后按F6键,打印机就开始工作了,它将打印出你输入的那些字符!下面的代码演示了直接将指令和字符发送给打印机:

Private Sub Command1_Click()

Dim strOut As String

StrOut=“这是直接发送到打印机端口的字符串”

‘打开打印机端口,其中的”LPT1:”可能需要根据你的打印机设置而改变

Open“LPT1:”For BinaryAccessWrite As #1

‘发送给打印机,注意语句的*后一个参数必须是变量

Put #1,,strOut

‘关闭打印机端口

Close #1

End Sub

各种打印机打印条形码的指令可能不同,比如将上面的变量strOut赋值为:

strOut=Chr(28)&“P”&Chr(5)&Chr(2)&Chr(3)&Chr(3)&Chr(6)&“012345”

将在AR2400打印机上打印出内容为”012345”的CODE39格式的条形码。具体的打印控制指令请参考打印机手册。

用这种方法的缺点:一是过份依赖打印机本身,而有条形码打印功能的打印机通常要比普通打印机昂贵,这会使构造应用系统不够经济二是所有的打印输出都必须你自己处理,比如打印定位就很浪费时间。


二、利用画图方式输出到普通打印机

条形码的编码规则不外乎是通过线条和线条间间隙的宽窄不同来表示二进制的1和0,只要我们了解了条形码的编码规则,完全可以用画图的方式在普通打印机上得到可以接受的效果。下面我们就使用*普遍的CODE39码进行讨论。

CODE39码的编码规则是:

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

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

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

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

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

在我们的程序中,给常用的字符都进行编码,解读时先取线条粗细,再取间隙宽窄,如:


上图中的字符*就可以解读为001101000,字符3解读为110000100

下面就是我们给出的子过程:

注释:将字符串strBarCode对应的条形码输出到缺省打印机

Private Sub PrintBarCode(_ByVal strBarCode As String,_Optional ByVal intXPos As Integer=0,_

Optional ByVal intYPos As Integer=0,_Optional ByVal intPrintHeight As Integer=10,_

Optional ByVal bolPrintText As Boolean=True_)

注释:参数说明:

注释:strBarCode-要打印的条形码字符串

注释:intXPos,intYPos-打印条形码的左上角坐标(缺省为(0,0),坐标刻度为:毫米)

注释:intHeight-打印高度(缺省为一厘米,坐标刻度为:毫米)

注释:bolPrintText-是否打印人工识别字符(缺省为true)

注释:初始化条码编码格式表

strBarTable(0)="001100100"注释:0

strBarTable(1)="100010100"注释:1

strBarTable(2)="010010100"注释:2

strBarTable(3)="110000100"注释:3

strBarTable(4)="001010100"注释:4

strBarTable(5)="101000100"注释:5

strBarTable(6)="011000100"注释:6

strBarTable(7)="000110100"注释:7

strBarTable(8)="100100100"注释:8

strBarTable(9)="010100100"注释:9

strBarTable(10)="100010010"注释:A

strBarTable(11)="010010010"注释:B

strBarTable(12)="110000010"注释:C

strBarTable(13)="001010010"注释:D

strBarTable(14)="101000010"注释:E

strBarTable(15)="011000010"注释:F

strBarTable(16)="000110010"注释:G

strBarTable(17)="100100010"注释:H

strBarTable(18)="010100010"注释:I

注释:"0"-"9","A-Z","-","%","$"和"*"的条码编码格式,总共40个字符

StaticstrBarTable(39)AsString
 

条形码作为一种机器可识别的图形,它能快速、准确地标识某种产品或商品,在许多数据库应用中起作很重要的作用,如超市收银、车站售票等场合。当某件物品上带有的条形码被条码扫描器正确解读后,将会得到该物品的唯一标识字符串,通过检索数据库我们就可以很容易知道它的一些其它属性并作相应处理。虽然在Internet上能找到许多免费和不免费的条形码打印控件,但是这些控件除了使用不方便外,还有一个*大的缺点:它们的打印输出不能和我们的程序共存在一个打印页面上,比如说在一个过程中,我们先向系统Printer中输出一些内容,然后再调用控件的条形码打印方法,*后打印的结果为两页!,如果现在我们要处理一张车票,上面不仅要打印条形码,还要有终点站和票价等信息,那么控件就变得不可用。对程序员来说,可能还是希望能了解条形码打印的原理。