生成一维码条码码,扫码查询相关条码信息
生活中购买商品时,我们常常可以见到结账时,收银员用扫码枪扫描商品上面的条码,然后统计购买商品的总金额,那商品上的条码是如何实现扫描后获取商品信息的.
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"; } } }
生成一维码条码码,扫码查询相关条码信息相关推荐
- 微信生成带参数的二维码,合成海报,扫码后推送小程序?
微信服务号渠道二维码功能,支持生成带参数二维码,合成海报二维码,微信扫码后推送内容:结合微号帮平台48小时信息推送,推送微信小程序. 带参二维码 海报二维码 微信扫码后回复 48小时信息推送 在微号帮 ...
- vue前端生成二维码,实现扫码下载功能
vue前端生成二维码,实现扫码下载功能 首先需要安装一个插件 npm install --save qrcodejs2 然后在需要的页面引入插件,最后使用 <template><di ...
- 条码枪扫码时,只能在文本框录入一位字符的问题
今天在工作中遇到这种情况:使用条码枪扫码时,只能在文本框录入一位字符,导致录入数据不全. 网上有人说应该把输入法切换到英文输入法状态 解决方法 html: <input type=&qu ...
- 微信公众平台使用JSSDK网页调起扫码并获取扫码数据(PHP)
微信公众平台使用JSSDK网页调起扫码并获取扫码数据 初学者,部分css样式在网上扒下来的,功能实现了,代码很糙,非常糙,望海涵,也希望大神多指导. QQ:961052877,有问题大家一起交流.可以 ...
- wechat-0050,微信公众号,带参数的二维码获取与扫码事件推送
demo:https://github.com/wenrongyao/wechat-demo 摘要:这篇帖子讲述如何获取带参数的二维码,以及扫码带参数的二维码后的事件接收. 微信开发者文档:https ...
- 微信小程序使用场景延伸:扫码登录、扫码支付
微信小程序使用场景延伸:扫码登录.扫码支付 小程序最适合的使用场景有哪些?相比大家能列举出来很多,但这个场景,大家可能多数没想到_^ 笔者团队近期接到了一个PC项目:转转游戏租号PC官网,该项目要求在 ...
- 小程序源码:游戏扫码登录多功能工具箱集合
这是一款由多功能集合的一款微信小程序源码 该小程序无需服务器,无需域名所有功能都无需API接口,所以也不用担心功能失效 具体功能由以下功能组合 游戏扫码登录(N款热门游戏支持扫码登录如王者荣耀,和平精 ...
- uni-app二维码、条形码扫码自定义
uni-app二维码.条形码扫码自定义 - DCloud问答 https://github.com/xiaowang1314/uniapp-plugin-collections/blob/master ...
- 王者荣耀扫码登录源码,游戏扫码登录源码
PHP游戏扫码登录器源码 支持一百多种热门游戏登录 里面支持一百多种热门游戏登录,比如王者荣耀,英雄联盟手游,手游CF等等! ! ! 不管是用来运营引流吸引人气还是后续广告都是不错的程序,另外该源码已 ...
最新文章
- SQL概述及在网络安全中的应用
- 小姐姐笔记:我是如何学习简单源码拓展视野的
- 数据卡片_E015 如何批量汇总工作簿数据,形成独立工作簿信息卡片
- 有了这份程序员面试指南,你离大厂Offer还远吗?| 附推荐书籍
- 码农跳槽指南:如何在新公司建立自己的“支配地位”?
- windows与linux线程,Linux和Windows两种风格的操作系统,创建线程的方式有何不同?...
- 哪些应用场景在使用语音连麦
- Eucalyptus 云计算
- 【2021最新版】Kafka面试题总结(25道题含答案解析)
- 渗透第一个靶机 shop1.0 (还是简单渗透版)
- 利用jackson-dataformat-csv读写csv文件
- Tomcat8出现To prevent a memory leak, the JDBC Driver has been forcibly unregistered
- Phoenix踩坑填坑记录
- PHP之Smarty
- 联发科5G基带处理器MT6297(Helio M70)
- mac 中 caps lock和control键交换,以及alt键替换option方法
- 摄像头各参数的意义_摄像机参数及性能指标浅谈
- 禅与摩托车维修艺术(2)
- 如何选出符合一定条件的股票
- 战略决定结构是什么意思?
热门文章
- Android设置状态栏字体深色,Android实现修改状态栏背景、字体和图标颜色的方法...
- Collections的emptyList() emptyMap() emptySet()
- Codeforces Round #655 (Div. 2) A
- 七月算法课程《python爬虫》第五课: scrapy spider的几种爬取方式
- IOS欢迎界面Launch Screen动态加载广告
- 爬虫笔记40之反爬系列三:复杂验证码的处理(12306图片验证码、行为验证:selenium鼠标行为链 + 算法)
- python常用的内置对象有哪些_#【Python】【基础知识】【内置对象常用方法】
- 制造业大数据分析解决方案,助力生产效率提升
- 高等数学与计算机的关联论文,数学建模与计算机关系研究的相关论文(2)
- pycharm安装Translation翻译插件