生活中购买商品时,我们常常可以见到结账时,收银员用扫码枪扫描商品上面的条码,然后统计购买商品的总金额,那商品上的条码是如何实现扫描后获取商品信息的.

1.首先每个商品对应的都有一个唯一标识符号
2.我们的条码生成就是通过传入这个标识符生成对应的条码
3.如下代码传入商品标识符和宽高返回对应的字符串形式条码
4.扫码条码时,我们通过识别的条码标识符获取相关商品详细信息

import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;import javax.imageio.ImageIO;import org.apache.commons.lang.StringUtils;
import org.jbarcode.JBarcode;
import org.jbarcode.encode.Code128Encoder;
import org.jbarcode.encode.EAN13Encoder;
import org.jbarcode.encode.InvalidAtributeException;
import org.jbarcode.paint.BaseLineTextPainter;
import org.jbarcode.paint.EAN13TextPainter;
import org.jbarcode.paint.WidthCodedPainter;
import org.krysalis.barcode4j.impl.code128.Code128Bean;
import org.krysalis.barcode4j.output.bitmap.BitmapCanvasProvider;import sun.misc.BASE64Encoder;public class BarcodeUtil {/**  * 128条形码  *  * @param strBarCode  *            条形码:0-100位  * @param dimension  *            商品条形码:尺寸  * @param barheight  *            商品条形码:高度  * @return 图片(Base64编码)  */  public static String generateBarCode128(String strBarCode,String dimension,String barheight) {  try {  ByteArrayOutputStream outputStream = null;  BufferedImage bi = null;  int len = strBarCode.length();  JBarcode productBarcode = new JBarcode(Code128Encoder.getInstance(),  WidthCodedPainter.getInstance(),  EAN13TextPainter.getInstance());  // 尺寸,面积,大小 密集程度  productBarcode.setXDimension(Double.valueOf(dimension).doubleValue());  // 高度 10.0 = 1cm 默认1.5cm  productBarcode.setBarHeight(Double.valueOf(barheight).doubleValue());  // 宽度  productBarcode.setWideRatio(Double.valueOf(20).doubleValue());
//                  是否显示字体  productBarcode.setShowText(true);
//                 显示字体样式  productBarcode.setTextPainter(BaseLineTextPainter.getInstance());   // 生成二维码  bi = productBarcode.createBarcode(strBarCode);  outputStream = new ByteArrayOutputStream();  ImageIO.write(bi, "jpg", outputStream);  BASE64Encoder encoder = new BASE64Encoder();
//            System.err.println(encoder.encode(outputStream.toByteArray()));  return encoder.encode(outputStream.toByteArray());  } catch (Exception e) {  e.printStackTrace();  return "encodeError";  }  }  }

生成一维码条码码,扫码查询相关条码信息相关推荐

  1. 微信生成带参数的二维码,合成海报,扫码后推送小程序?

    微信服务号渠道二维码功能,支持生成带参数二维码,合成海报二维码,微信扫码后推送内容:结合微号帮平台48小时信息推送,推送微信小程序. 带参二维码 海报二维码 微信扫码后回复 48小时信息推送 在微号帮 ...

  2. vue前端生成二维码,实现扫码下载功能

    vue前端生成二维码,实现扫码下载功能 首先需要安装一个插件 npm install --save qrcodejs2 然后在需要的页面引入插件,最后使用 <template><di ...

  3. 条码枪扫码时,只能在文本框录入一位字符的问题

    今天在工作中遇到这种情况:使用条码枪扫码时,只能在文本框录入一位字符,导致录入数据不全. 网上有人说应该把输入法切换到英文输入法状态 解决方法 html:     <input type=&qu ...

  4. 微信公众平台使用JSSDK网页调起扫码并获取扫码数据(PHP)

    微信公众平台使用JSSDK网页调起扫码并获取扫码数据 初学者,部分css样式在网上扒下来的,功能实现了,代码很糙,非常糙,望海涵,也希望大神多指导. QQ:961052877,有问题大家一起交流.可以 ...

  5. wechat-0050,微信公众号,带参数的二维码获取与扫码事件推送

    demo:https://github.com/wenrongyao/wechat-demo 摘要:这篇帖子讲述如何获取带参数的二维码,以及扫码带参数的二维码后的事件接收. 微信开发者文档:https ...

  6. 微信小程序使用场景延伸:扫码登录、扫码支付

    微信小程序使用场景延伸:扫码登录.扫码支付 小程序最适合的使用场景有哪些?相比大家能列举出来很多,但这个场景,大家可能多数没想到_^ 笔者团队近期接到了一个PC项目:转转游戏租号PC官网,该项目要求在 ...

  7. 小程序源码:游戏扫码登录多功能工具箱集合

    这是一款由多功能集合的一款微信小程序源码 该小程序无需服务器,无需域名所有功能都无需API接口,所以也不用担心功能失效 具体功能由以下功能组合 游戏扫码登录(N款热门游戏支持扫码登录如王者荣耀,和平精 ...

  8. uni-app二维码、条形码扫码自定义

    uni-app二维码.条形码扫码自定义 - DCloud问答 https://github.com/xiaowang1314/uniapp-plugin-collections/blob/master ...

  9. 王者荣耀扫码登录源码,游戏扫码登录源码

    PHP游戏扫码登录器源码 支持一百多种热门游戏登录 里面支持一百多种热门游戏登录,比如王者荣耀,英雄联盟手游,手游CF等等! ! ! 不管是用来运营引流吸引人气还是后续广告都是不错的程序,另外该源码已 ...

最新文章

  1. SQL概述及在网络安全中的应用
  2. 小姐姐笔记:我是如何学习简单源码拓展视野的
  3. 数据卡片_E015 如何批量汇总工作簿数据,形成独立工作簿信息卡片
  4. 有了这份程序员面试指南,你离大厂Offer还远吗?| 附推荐书籍
  5. 码农跳槽指南:如何在新公司建立自己的“支配地位”?
  6. windows与linux线程,Linux和Windows两种风格的操作系统,创建线程的方式有何不同?...
  7. 哪些应用场景在使用语音连麦
  8. Eucalyptus 云计算
  9. 【2021最新版】Kafka面试题总结(25道题含答案解析)
  10. 渗透第一个靶机 shop1.0 (还是简单渗透版)
  11. 利用jackson-dataformat-csv读写csv文件
  12. Tomcat8出现To prevent a memory leak, the JDBC Driver has been forcibly unregistered
  13. Phoenix踩坑填坑记录
  14. PHP之Smarty
  15. 联发科5G基带处理器MT6297(Helio M70)
  16. mac 中 caps lock和control键交换,以及alt键替换option方法
  17. 摄像头各参数的意义_摄像机参数及性能指标浅谈
  18. 禅与摩托车维修艺术(2)
  19. 如何选出符合一定条件的股票
  20. 战略决定结构是什么意思?

热门文章

  1. Android设置状态栏字体深色,Android实现修改状态栏背景、字体和图标颜色的方法...
  2. Collections的emptyList() emptyMap() emptySet()
  3. Codeforces Round #655 (Div. 2) A
  4. 七月算法课程《python爬虫》第五课: scrapy spider的几种爬取方式
  5. IOS欢迎界面Launch Screen动态加载广告
  6. 爬虫笔记40之反爬系列三:复杂验证码的处理(12306图片验证码、行为验证:selenium鼠标行为链 + 算法)
  7. python常用的内置对象有哪些_#【Python】【基础知识】【内置对象常用方法】
  8. 制造业大数据分析解决方案,助力生产效率提升
  9. 高等数学与计算机的关联论文,数学建模与计算机关系研究的相关论文(2)
  10. pycharm安装Translation翻译插件