如何实现条码中间的几位流水号自动列印
2013-10-24 14:12
274 查看
客户要求:EAN13格式的条码,格式为:两位年+两位月+两位周+五位流水号+0+纠错码。
我们品保部负责打条码出货的同事,对常规的文字、或者流水号,单独打印都颇有心得。但是对它们怎么组合在一起,就没有过先例了。俺奉命解决此事。
安装了一个《Zebra》4.2a版本的打印软件,以前从来没有摸过的。经过反复摸索,搞定!步骤如下:
新建 -> 在上方的工具栏里选择 “ Add a bar code field ” -> 在弹出的 “ Barcodes” 页面里,Symbology 下拉框内选择 “ EAN 13”,在其下方的列表框里,选择 “ Advanced ”(如果没有看到,请把右边的垂直滚动条往上拖,这个Advanced在最上面,是第一个),此时下方的 “ Define " 按钮就会由灰色变成黑色,表明可用。
![](http://img.blog.csdn.net/20131024134550687?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbXJ0b3JuZXk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
在弹出来的 “ Advanced ” 界面里,在“ Data definition string” 框内输入1310(这是固定字符串,依据规则而来:13表年,10表月)。仔细了,下面的精华来了,全部的核心和精彩之处都在这里哦--
在页面左下方的 “ Category” 列表框内,选择最上面的 “ Arithmetic” ,然后在右边出现的 “ Function description” 列表框内双击 “ Increment ” 。这时候,上方的文本框就会自动变成“ 1310@INCREMENT(,1,0123456789)”。把左括号后面的所有内容都删掉,敲入:@Question(Enter Num?,00000),1,0123456789),留心这个界面右下角有个“ Evalutates to” ,已经变成了“ 131000000”,这个起到了实时预览的作用。这5个数怎么都是0?好像看不出从1到9999流水号的样子!别急嘛,再把最后的周次43,以及0填上。预览时只有12位数字,这是对的。因为最后一位是检查码,系统会在打印时产生,故不用填。
![](http://img.blog.csdn.net/20131024140207828?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbXJ0b3JuZXk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
点击右方的 “OK”按钮返回,这时候再看“ BarCodes ”界面,可以看到中间部分的 “ Data” 文本框内,多了“ 131000000430”的显示。然后点击“OK”。当然还能够对字体大小、宽度作一些微调,但最具技术含量的已经做出来了。
来,打印吧,验证一下:
![](http://img.blog.csdn.net/20131024140805750?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbXJ0b3JuZXk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
说明:
第一行的 “ Number of lables” 表示这次要打印几张标签;
第二行的 “ Enter Num?” 表示这次打印要从第几个数字开始。
我填写的数字分别是10和3,表示这次要打印3张标签,从00010开始。那么打印出来的标签,中间的流水号将分别是:00010、00011、00012。经过验证,完美实现。
我们品保部负责打条码出货的同事,对常规的文字、或者流水号,单独打印都颇有心得。但是对它们怎么组合在一起,就没有过先例了。俺奉命解决此事。
安装了一个《Zebra》4.2a版本的打印软件,以前从来没有摸过的。经过反复摸索,搞定!步骤如下:
新建 -> 在上方的工具栏里选择 “ Add a bar code field ” -> 在弹出的 “ Barcodes” 页面里,Symbology 下拉框内选择 “ EAN 13”,在其下方的列表框里,选择 “ Advanced ”(如果没有看到,请把右边的垂直滚动条往上拖,这个Advanced在最上面,是第一个),此时下方的 “ Define " 按钮就会由灰色变成黑色,表明可用。
在弹出来的 “ Advanced ” 界面里,在“ Data definition string” 框内输入1310(这是固定字符串,依据规则而来:13表年,10表月)。仔细了,下面的精华来了,全部的核心和精彩之处都在这里哦--
在页面左下方的 “ Category” 列表框内,选择最上面的 “ Arithmetic” ,然后在右边出现的 “ Function description” 列表框内双击 “ Increment ” 。这时候,上方的文本框就会自动变成“ 1310@INCREMENT(,1,0123456789)”。把左括号后面的所有内容都删掉,敲入:@Question(Enter Num?,00000),1,0123456789),留心这个界面右下角有个“ Evalutates to” ,已经变成了“ 131000000”,这个起到了实时预览的作用。这5个数怎么都是0?好像看不出从1到9999流水号的样子!别急嘛,再把最后的周次43,以及0填上。预览时只有12位数字,这是对的。因为最后一位是检查码,系统会在打印时产生,故不用填。
点击右方的 “OK”按钮返回,这时候再看“ BarCodes ”界面,可以看到中间部分的 “ Data” 文本框内,多了“ 131000000430”的显示。然后点击“OK”。当然还能够对字体大小、宽度作一些微调,但最具技术含量的已经做出来了。
来,打印吧,验证一下:
说明:
第一行的 “ Number of lables” 表示这次要打印几张标签;
第二行的 “ Enter Num?” 表示这次打印要从第几个数字开始。
我填写的数字分别是10和3,表示这次要打印3张标签,从00010开始。那么打印出来的标签,中间的流水号将分别是:00010、00011、00012。经过验证,完美实现。
相关文章推荐
- Spring-hibernate-BaseDao
- 用SecureCRT来上传和下载文件
- 使用apache benchmark(ab) 测试报错: apr_socket_recv: Connection timed out (110)
- linux下jdk+eclipse+python安装
- 可动态布局的Android抽屉之基础
- 房地产相关
- 组合模式
- Configuring Report Manager
- 哈希key个数
- js中escape()函数和unescape()函数的功能
- CSipsimple最新版本编译
- 感动。。。
- 软件架构师应该知道的97件事
- CSipsimple最新版本编译
- 让人泪奔的方法:两个变量在不使用其他变量的情况下进行数据交换
- linux文件属性详解
- VC项目调试同运行目录不同,导致调试时dll 不匹配
- 我无比憧憬的大学
- Linux下防火墙开启相关端口及查看已开启端口
- Mysql On Mac OS: Remove & Install