关于条码和标签打印以及条码打印机编程

很早很早就是会员了,但一直没有写过东西,今天算是个开始吧。
本人从事条码编辑打印软件开发多年,熟悉条码和打印机的编程,今天开始和大家聊一聊这方面的内容,分享自己的一些经验。
条码和标签打印方面还是有很多内容的,这里先列个提纲,以后再详细论述细节内容。

条码和条码标签打印主要涉及到以下几方面的内容吧:
1、条码图像的生成,也就是如何从文本内容生成特定码制的条码或者二维码图像

条码和二维码是由一系列的标签来规范的,由文本内容生成条码图像其实就是根据相应的标准生成图像点阵的过程。这方面目前有成熟的工具,也有开源的项目(ZXING),大家直接使用前人的成果就可以了,不必过多论述。
关于码制的选择,对于一般的项目,如果没有特别的要求,一维码选择 128码,二维码选择 QR 就可以了。

2、如何打印这些条码图像
打印条码其实就是打印条码图片的过程。当然,对于直接向条码打印机发送指令的方式打印条码就不一样了,这个后面会专门论述。
打印图片是个很简单的工作,但也是条码打印中最大的陷阱所在。因为条码和二维码是依靠条码宽窄来表示信息的,因此条宽的精确度可能会直接影响条码的误读效率。而大家都知道打印机是以点为单位进行打印的,因此在条码图像发送到打印机的过程中,如果不能做到图像的点和打印机的点严格对应,则可能会出现缩放误差。这种误差会使得本应相同宽度的条,在打印过程中宽度变得不同。例如条码的宽条是3个点,窄条是1个点,一个条码由10个宽条和10个窄条组成,则总宽度是40个单位。如果在打印时,条码的宽度是打印机上的50个点,那肯定有些条的宽度会发生变化。
这种变化在高精度的打印机和二维码上问题还不是很严重,但是在大多数 203 dpi 的条码打印机上打印较小的一维码时,可能就会出现问题。

保证条码的点和打印机的点一一对应也不复杂,只是发送图像时使用特定的函数就可以了。但是在B/S架构下打印时却无法使用这样的功能,因此在浏览器中采用网页打印的方式打印条码,可能会引起失真。


3、如何操作条码打印机高效率的打印
条码打印机是专为打印条码标签而设计的,一般都有专用的指令集来实现高效率的打印。在一些特定的场景下,直接向打印机发送指令可以更高效率的打印标签(如使用移动设备在移动打印机上进行打印)。
这里面主要涉及到生成指令集和发送给打印机的问题。
每种打印机都有特定的指令集,厂商都会提供手册和例程供参考。
将指令集发送到打印机复杂一些,可以直接操作USB等打印端口,也可以通过驱动程序来实现。

还有一个重要的问题是汉字打印的问题。很多条码打印机没有提供内置的汉字库,因此需要将汉字转换成图像进行打印。

4、在B/S 架构和移动设备上打印的问题

B/S 架构下打印,主要是条码精度问题,如果是标签打印,可能还会遇到标签对位的问题。直接使用网页打印方式,这两个问题没有好的办法解决,可能只能够一点点的去尝试。
使用控件的方式打印可以避免这些问题,但是目前没有好的控件可以使用,好的都是要付费的,而且控制只能在IE中使用,还有安装等一系列问题。
移动设备打印主要是指令生成问题和发送到打印机的问题。
解决这些问题,云打印模式可能会是未来的好的思路。

5、如何打印高质量的条码标签

高质量的条码标签打印应该包含以下几方面:
高精度的条码:也就是没有缩放误差的条码(当然,也无法精确控制条码的宽度尺寸了)

高速打印:在一些特定的场景下,对于打印速度会有要求,因此使用条码打印指令方式可以满足这样的要求。
标签对位:条码标签一般来讲会比较高,内容也会比较多。对于对位精度要求比较高。


以上是我想的一些内容,先做个开始吧,后面我再做详细的论述。
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值