在项目开发过程中,遇到一个需求,需要将大量商品信息存储到excel中,供用户下载。其中商品的upc字段需要是条形码,以方便用户用扫码枪扫描。常见的方案是将upc转换为条形码的图片。但在项目中发现, 当商品的数量为数千时,会因为文件太大而无法下载。考虑到可以在客户端安装一些条码字体,从而在服务端就无须生成条形码图片,即使商品数量为数千,其下载文件也很小。利用Code128字体将文本转换为code128条形码一文中提到可以通过在客户端提供Code128这种字体的方式来产生条形码,不过提到了直接将原文转换成Code128字体无法被扫码枪扫描。
经过本人亲测,在Excel中,直接将原文转换成Code128,使用项目组的扫码枪确实不能解析。不过奇怪的是,我使用微信进行扫码,是能够正常解析的。为了进一步搞清楚这个问题,本人还进行了测试,在一些免费的条形码再线生成网站(如 在线免费生成条码)上生成的编码为Code128的条形码,使用项目组的扫码枪是能解析的!!!仔细对比了Excel生成的Code128条形码和网站生成的Code128条形码,确实长得不一样。综上,可以得出结论:Excel生成的条形码并非不能解析,取决于扫码枪是否支持,并非Excel生成的Code128条形码有问题!!!
不过,到此依然没能解决项目组遇到的问题。利用Code128字体将文本转换为code128条形码一文中提到,可以通过先将原文经过一次编码再使用Excel的Code128字体进行编码,即可被扫码枪识别。不过,博客中使用的是C#语言实现的,本文给出其对应的Java版如下:
Code128A

本文探讨了在Excel中使用不同编码方式生成条形码的实践经验,包括Code128和Code39的具体编码方法,以及如何确保条形码能被扫码枪正确识别。

4130

被折叠的 条评论
为什么被折叠?



