以下文章是在解决客户问题时对二维码的感受,希望能给大家提供一些参考。

1问题背景

浙江某医药物流有限公司(以下简称:A物流公司)系某有限责任公司控股的全资子公司,现已投入使用的物流中心面积达6万平方米。多年来,A物流公司始终坚持“信息化是现代物流的灵魂”,自行设计开发了ERP、WMS、第三方物流系统、二维条码、办公自动化系统(OA)、物流网站,成功地应用了温湿度自动监测技术、无线射频技术(RF)、电子标签技术、消防安保红外监控报警技术、GPS监控、业务叫号系统等,引进了国际先进的托盘提升机、螺旋输送机、自动分拣系统等自动化物流设施,是一个集药品储存、验收养护、物流加工、装卸搬运、集中配送和信息服务等六大功能于一体的专业化医药物流基地。

我们从作业现场了解到,在发货前,需通过自动分拣系统对药品进行分拣,所以,仓管员在库房必须为每一箱药品打印一维码和二维码各一张标签,并粘贴在药品外包装上,然后通过螺旋输送机进入分拣系统。其中一维码标签用于药品在物流基地内部流通过程中的信息采集;而二维码标签用于药品在外部(如医院)流通过程中的信息采集。条码标签信息是自主开发的管理信息系统,仓管员通过手持终端远程访问部署在服务器的终端软件,终端软件调用我公司开发的打印组件程序驱动条码打印机打印条码标签。

我公司主要为A物流公司供应的设备主要有条码打印机、手持终端、无线路由等。其中条码打印机有两种类型:一种是移动打印机,型号为Zebra QL/420 Plus,另一种是台式打印机,型号为Zebra 888;手持终端采用的是Motorola MC50。二维码类型采用的是QR Code,包含近400至500个汉字,标签纸大小为80 * 40。

系统试运行时,台式打印机打印出来的标签上的二维码图像很清晰,手持终端对其识别率很高,扫描效果很好。但是移动式打印机打印出来的标签上的二维码图像很模糊,而且还会出现重影现象,手持终端对其识别率很低,省物品编码中心的专业仪器对其检测出来的参数未达到识别标准。试用期间,尽管我公司采取了一些措施,如放大二维码图像大小,调整打印机参数等,还邀请移动条码打印机厂商--斑马公司的工程师协助,二维码移动打印问题仍未得到圆满解决,直接导致A物流公司的条码系统的推广计划被迫搁置。

2二维码知识

在分析上述问题之前,我们先来了解二维码方面的重要知识。

2.1二维码简介

二维码就是在平面(二维方向)上按照一定规律通过显示黑白相间的图形来记录数据信息的媒介。它可以被图象输入设备或光电扫描设备自动识读以实现信息自动处理。

相对一维码来说,二维码的主要优点是:

1) 高密度编码,信息容量大,可容纳多达1850个大写字母或2710个数字或1108个字节,或500多个汉字;

2)编码范围广,可以把图片、声音、文字、签字、指纹等可以数字化的信息进行编码;

3)容错能力强,具有纠错功能,即使局部损坏的二维码也可以正确得到识读;

4)译码可靠性高,二维码的误码率不超过千万分之一;

5)可引入加密措施,使得条码信息具有很好的保密性和防伪性。

使用二维码,可以很好的解决如下问题:

1)  表示包含汉字在内的数据信息。

2)  在有限的面积上表示大量信息。

3)  对物品进行精确描述。

4)  防止各种证件、卡片及单证的伪造。

5)  在无法连接数据库和不便联网的地方实现数据采集。

2.2二维码分类

按照图形结构来分,常见的二维码可分为行排式二维码和矩阵式二维码。

行排式二维码建立在一维码基础上,按需要由两行或多行的一维码堆积而成。它在编码设计、检验原理、识读方式等方面继承了一维条码的特点,其识读设备、条码印刷与一维条码兼容。常见的行排式二维码主要有PDF417、Code 49、Code 16K等,如下图:

 

PDF417

Code 49

Code 16K

1)  PDF417可以表示 1100 个字节;

2)  Code 49可以表示全部的 ASCⅡ字符;

3)  Code 16K可以表示全字符集的 128个字符及扩展 ASC Ⅱ字符。

矩阵式二维码以矩阵的形式组成,在矩阵相应元素位置上,用点的出现表示二进制“1”,点的不出现表示二进制的“0”,一系列的点的排列组合确定了二维码所代表的意义。矩阵式二维码是建立在计算机图像处理技术、组合编码的基础上的一种新型图形符号自动识读处理码制。常见的的矩阵式二维码主要有QR Code、Date Matrix、 Maxicode 、Code one等,如下图:

QR Code

Date Matrix

Maxicode

Code one

Grid Matrix

Compact Matrix

1)  QR Code除外可以表示与PDF417相同的字符外,还可以表示有效表示中国汉字、日本汉字。

2)  Data Matrix 能表示 128个字符及扩展 ASCⅡ字符;

3)  Maxicode可表示 128个 ASCⅡ字符及扩展 ASCⅡ字符;

4)  Code one可表示256个 ASCⅡ字符,另加 4个功能字符及一个填充字符。

5)  Grid Matrix和Compact Matrix标准是中国信息产业部于2006年5月份,所颁布的两项国产行业推荐标准。

2.3二维码技术指标

二维码有最重要的两个技术指标,即单位面积的信息存储容量和信息纠错能力,这两个技术指标同时影响着二维码的识别率。有限的单位面积内信息存储容量越大,可供存储纠错信息越少,纠错能力越低,反之,单位面积的信息存储容量越小,可供存储纠错信息越多,纠错能力越强。

3问题分析

根据上述二维码的知识,我们可以分析出,影响二维码识别率的因素主要包括以下方面:

a)       不同的二维码类型;

b)      条码识别设备的能力;

c)       二维码图像的打印质量;

d)      二维码单位面积的信息存储容量;

e)       二维码图像生成算法。

由于A物流公司的药品信息中包含了汉字信息,所以其二维码必须采用QR Code。由于台式打印机打印的二维码能够被MC50很好识别,而移动打印机打印的二维码却识别率很低,所以可以排除上述a)和b)两个因素的影响。这样一来,我们就应该从上述c)、d)和e)三个因素入手解决问题。

4试验过程及解决方案

第一次试验:由于之前没有接触过二维码,对二维码的知识知之甚少。首先,我在网上到处查找资料,然后潜心研究二维码相关知识,最后,我们得出的结论是,识别率低主要是纠错能力差的原因造成的;纠错等级越高,图像密度越大,扫描效果越差;QR Code最适合存储汉字的。首次试验没有实质性结果。

第二次试验:采用QR Code,通过逐步调整图像大小来提高打印质量,经过测试后发现确实有些效果,能够略微提高识别率。第二次试验收效甚微。

第三次试验:一位专门研究打印机的专家提醒,可以通过调整打印机的速度和浓度来提高打印质量,但经过测试后发现效果依然不明显。

第四次试验:通过与条码事业部的沟通过程中得知,不同价格的标签纸质量不一样。在本次测试过程中,我用质量最差的标签纸打印出来的二维码根本无法识别,而用质量最好的标签纸(理光)打印出来的二维码质量明显提高。所以,打印纸的质量好坏严重影响打印质量。

第五次试验:经过与A物流公司的工程师讨论,确定把二维码得字符容量降到300个汉字左右,配合前四次试验的方案,识别率明显提升,但是又发现扫描距离在很小的范围,这对操作员太麻烦了。

第六次试验:通过研究资料发现,生成二维码图像的程序算法会影响条码打印质量。所以接下来,我们立即对扫描接口程序结构分析,发现我公司开发的打印接口程序PLable.dll调用了一个第三方二维码生成组件。为了验证程序算法的影响,我们从网上下载了一个二维码生成软件PtBarcodeEnc (试用版),在相同的移动打印机、相同的标签、相同的字符数的情况下,我们发现生成二维码的程序算法对扫描效果影响很大。

第七次试验:经过前面六次之后,基本上可以确定能解决问题,关键是能找到最优的状态。所以,我们在本次测试中,设定5种不同的图像大小,4种不同的字符容量,经过排列组合成20种情况,并且把20种组合的效果打印出来,最后得到最优的效果。

总结七次测试,我们主要从改变图像大小、更换二维码生成程序、提高纸张质量、调整打印机参数等四个方案结合起来,并对接口程序进行优化和完善,这样就大幅提升二维码的打印质量。

5实施效果

我们从改变图像大小、更换二维码生成程序、提高纸张质量、调整打印机参数,大幅提升二维码的打印质量,把包含600个字符容量的二维码在标签纸打印后,识别率基本上可以达到100%,扫描距离的有效范围在6CM至15CM之间,经过现场的真实测试后,二维码已经集成到管理信息系统系统。

转载于:https://www.cnblogs.com/spinsoft/archive/2012/06/29/2569287.html

解决某物流企业二维码打印问题相关推荐

  1. [原创]解决某物流企业二维码打印问题

    [原创]解决某物流企业二维码打印问题 参考文章: (1)[原创]解决某物流企业二维码打印问题 (2)https://www.cnblogs.com/ruochen/archive/2012/06/28 ...

  2. java生成二维码打印到浏览器

    java生成二维码打印到浏览器 解决方法: pom.xml的依赖两个jar包: <!-- https://mvnrepository.com/artifact/com.google.zxing/ ...

  3. 金蝶k3 wise 15.0单据序时簿二维码打印后打印预览时提示没有注册类

    金蝶K3 wise 15.0 销售出库单打开二维码打印后这个界面在点击布局设计或打印预览时提示没有注册类,提示如下: 解决方案: 请在K3安装目录C:\Program Files (x86)\King ...

  4. TSPL指令二维码打印无效?我搜集的TSPL中文文档

    设备:tec相关打印机 开发语言:javascript nodejs环境 TSCLIB.dll(详细资料需要去TSC官网下载,不要花RMB) 近日又在做标签打印相关,软件的开发,遇到一个以前已解决的问 ...

  5. ios app 解决微信扫二维码不能跳转问题

    ios app 解决微信扫二维码不能跳转问题 参考文章: (1)ios app 解决微信扫二维码不能跳转问题 (2)https://www.cnblogs.com/wuxian/p/4618374.h ...

  6. 量具管理-量具生成和二维码打印

    量具管理-量具生成和二维码打印 只要选择量具分类,按下"生成新量具"按钮可以自动生成量具并能打印二维码 建立文件createclass.py # -*- coding: utf-8 -*- impor ...

  7. Android 蓝牙二维码打印,打印图片,二维码加文字布局,蓝牙连接

    蓝牙二维码打印,工厂物料条码,绝对好用 资源下载地址:点击下载 扫描,显示蓝牙列表 public class DeviceListActivity extends AppCompatActivity ...

  8. 条码打印以及二维码打印

    条码打印 function setFlowCardCodeHtml(rows, order){if(!isEmpty(rows) && rows.length>0){ //deb ...

  9. 解决android扫描二维码时,用户禁止权限报错问题

    当我用ZBarDecoder.jar写了一个扫描二维码的程序,确实实现了扫描功能.组长说如果用户禁止调用摄像头,那程序也不能崩溃.结果我一运行就崩溃了.在网上自己找了找,可以这样解决. try { m ...

最新文章

  1. 获取网站Alexa排名数值的方法
  2. 两概率分布交叉熵的最小值是多少?
  3. OpenCV图像旋转,指定填充背景颜色边界颜色
  4. Latex的subcaption横向插入两张子图的的用法
  5. java异常处理代码详解_Java异常处理机制总结
  6. 此应用无法在你的电脑上运行_电脑这类问题一招搞定—无法启动此程序,因为计算机丢失......
  7. 拓端tecdat|Excel实例:数组公式和函数
  8. C# NotifyIcon(通知区图标动画)
  9. 44.Linux君正X1000-添加st7789v显示
  10. 【民大Linux课件】Linux的基础操作1
  11. 【项目实例】使用C#开发纽曼USB来电通来电弹屏客户端小结
  12. SHERlocked93 的 2019 年终总结
  13. Truffle框架的初使用
  14. Kettle之Carte最佳实践
  15. dede首页调用全站tag
  16. 【往届四个月检索,EI会议】第二届通讯技术与信息科技国际学术会议(ICCTIT 2022)
  17. 阿龙学堂-算法-逻辑回归
  18. 2020年有寓意的领证日期_2020热门领证日期大全 2020适合领证的好日子
  19. ubuntu14.04快捷键控制笔记本触摸板的开启与关闭
  20. java-模拟自动挡汽车

热门文章

  1. 何学林:房价为什么降不下来?房价上涨的刚性是由强大的利益共同体共同作用的结果(原创首发,深度好文)——何学林房地产大策划之十二
  2. ps将图片加入背景【实测成功】
  3. 02-PDI(Kettle)导入与导出
  4. 阿拉伯数字金额转中文大写 (python实现)
  5. 【WiFi破解】WiFi密码不知道了怎么办,一行代码轻松破解
  6. 工作小笔记——使用Cartographer建图和调优
  7. 开源jar包被各网站封锁收费?教你如何搜索并下载想要jar
  8. 移动宽带客户测试软件,华为移动宽带终端检测工具(Mobile Doctor)
  9. 【论文笔记】强化学习论文阅读-Model-Based RL 9篇
  10. ASO优化:应用市场应该怎么做马甲包?