背景

项目上对接美国的外卖平台Uber(可以理解为国内的美团),需要在打印的小票上生成一个条形码,供Uber的骑手扫码取货。经过一顿百度发现,大佬们提供的条形码要么扫不出来,要么就很不美观(长宽比不合适),于是就自己摸索了一把。

代码

1、Maven依赖

<dependency><groupId>net.sf.barcode4j</groupId><artifactId>barcode4j-light</artifactId><version>2.0</version>
</dependency>

2、工具类

/*** 生成条码工具类*/
public class BarcodeUtils {/*** 生成条形码文件** @param msg  条形码的文本内容* @param path 生成条形码的文件路径* @return*/public static File generateFile(String msg, String path) {File file = new File(path);OutputStream outputStream = null;try {outputStream = new FileOutputStream(file);} catch (FileNotFoundException e) {e.printStackTrace();}try {generateBarCode128(msg, 10.0, 0.3, true, false, outputStream);} catch (Exception e) {throw new RuntimeException(e);}return file;}/*** 生成code128条形码** @param message       要生成的文本* @param height        条形码的高度* @param width         条形码的宽度* @param withQuietZone 是否两边留白* @param hideText      隐藏可读文本* @param outputStream  输出流*/public static void generateBarCode128(String message, Double height, Double width, boolean withQuietZone, boolean hideText, OutputStream outputStream) {Code128Bean bean = new Code128Bean();// 分辨率,越大条形码就越大int dpi = 150;// 设置两侧是否留白bean.doQuietZone(withQuietZone);// 设置条形码高度和宽度bean.setBarHeight(ObjectUtils.defaultIfNull(height, 9.0D));if (width != null) {bean.setModuleWidth(width);}// 设置文本位置(包括是否显示)if (hideText) {bean.setMsgPosition(HumanReadablePlacement.HRP_NONE);}// 设置图片类型String format = "image/png";BitmapCanvasProvider canvas = new BitmapCanvasProvider(outputStream, format, dpi,BufferedImage.TYPE_BYTE_BINARY, false, 0);// 生产条形码bean.generateBarcode(canvas, message);try {canvas.finish();} catch (IOException e) {//ByteArrayOutputStream won't happen}}public static void main(String[] args) {String msg = "TRO2022032300000400301";String path = "barcode2.png";generateFile(msg, path);}
}

3、效果图

4、关于条形码的编码

上述工具类给出的条形码编码为:Code128;
如果向使用其他编码,只需要在generateBarCode128()方法中将Code128Bean换成需要的,比如:Code39Bean

Java生成条形码(亲测可通过扫码枪扫出)相关推荐

  1. Java 生成二维码 zxing生成二维码 条形码 服务端生成二维码 Java生成条形码

    Java 生成二维码 zxing生成二维码 条形码 服务端生成二维码 Java生成条形码 一.关于ZXing 1.ZXing是谷歌开源的支持二维码.条形码 等图形的生成类库:支持生成.和解码功能. G ...

  2. java生成条形码-使用zxing

    背景 目前二维码的应用场景已经遍布各类互联网平台,通常是将产品/商品的唯一编号存储于二维码中以做扫码识别. 但是在很多场景下依然需要使用条形码(一维码) 解决方案 java生成条形码可使用的方式:ba ...

  3. 微信小程序码的生成(JAVA完整版) 亲测可用

    JAVA生成小程序码(太阳码) 首先准备工具类,这里我使用的是QrUtil;废话不多说,上工具类; 工具类是获取token使用; appid = 小程序appID secret = 小程序秘钥 /** ...

  4. Java生成条形码code128

    先看效果,生成的条形码. 用支付宝扫码功能可以识别出数字,手头没有扫码枪类似的工具没有测试其它方式.亲们有工具可以留言. maven依赖 <dependency><groupId&g ...

  5. Java生成条形码图片到本地

    直接Ctrl C/V可用 maven引入barcode4j <dependency><groupId>net.sf.barcode4j</groupId><a ...

  6. Java生成条形码PDF文件【可批量】

    最近公司有个业务,需求是开发一个可以生成条形码PDF文档的小工具.另外,老板还要求能在五一前上线该工具,时间紧,任务重.正好最近ChatGPT正火爆,何不让他帮我实现这个工具呢? 二话不说,打开cha ...

  7. 记录一次java生成条形码并调用打印机打印

    生成条形码需要ja坐标: <!--生成条形码--><dependency><groupId>net.sf.barcode4j</groupId>< ...

  8. java生成条形码和二维码

    文章目录 MAVEN配置 生成条形码 生成二维码 使用的包 zxing和 barcode4j. MAVEN配置 <project xmlns="http://maven.apache. ...

  9. java 生成条形码

    params.put("barcode1", BarcodeUtil.generateFile(StringUtils.isBlank(caseInfo.getCaseNo()) ...

最新文章

  1. Yann LeCun力挺前AAAI主席,批判深度学习的Marcus遭怒怼
  2. 内网安全新趋势之应对移动设备的威胁
  3. android-apt plugin is incompatible with the Android Gradle plugin. Please use 'annotationProcessor'
  4. 提示语_交通安全提示语
  5. 怎么样拒绝服务器重新启动?
  6. 谋定政策经信研究扶持-万祥军:对话李玉庭跨界电商重整
  7. 计算机类专业综合理论模拟试卷1,山东省2011年高等职业教育对口招生计算机类专业理论综合模拟试题(一)...
  8. 【转载】栈溢出原理及实现
  9. ip校验和及udp校验和的计算方法
  10. Android 系统(137)---android打包解包boot.img,system.img
  11. [转]Memcache mutex设计模式
  12. Altium AD20将已有的原理图PCB导出为封装库
  13. 我们来看看load data infile 需要注意的一些地方
  14. 在jmeter中怎么提取数据_Jmeter正则提取请求响应数据
  15. 计算机考研专业课408备考经验分享
  16. apache ab linux 下载,linux 下ab压力测试
  17. 作业盒子小学版android,作业盒子小学生官方版
  18. 使用cmd注销用户、注销当前用户
  19. 水晶报表:页眉或页脚超过了一页 解决方式
  20. JAVA基础语法笔记(黑马程序员系列)

热门文章

  1. 小戴门户站转来的mysql_fetch_array()运用
  2. 实验21_STP分析合集_ENSP
  3. 蓝牙音频协议双剑客(一)--音视频频分布传输协议(AVDTP)概念
  4. 2022-2027年中国菜谱app市场竞争态势及行业投资前景预测报告
  5. 今日小程序推荐:斑马音乐-没被发现的好音乐
  6. 模块说和神经网络学说_2020山东教师招聘考试:带你领略脑机能学说
  7. GCJ经纬度(腾讯、高德)转WGS84经纬度EXCEL算法
  8. 谈win2003与win2008启动原理及双启动的故障解决
  9. 简述什么是计算机仿真,计算机仿真技术总复习整理
  10. 2021年低压电工报名考试及低压电工实操考试视频