Java条形码生成(128c)
需要jbarcode的jar包支持。
下载地址:https://sourceforge.net/projects/jbcode
注:部分同学使用eclipse时无法直接使用BASE64Encoder,解决方法在代码下面。
本文提供两种方式
套餐一:生成返回值为Base64编码的条形码。
套餐二:生成条形码并输出到本地。
代码如下:
1 public class BarcodeUtil { 2 3 /** 4 * @FunctionName generateBarCode128 (转自:http://blog.csdn.net/shb2058/article/details/77523330) 5 * @Description 生成返回值为Base64编码的条形码 6 * @param strBarCode 7 * @param dimension 8 * @param barheight 9 * @return 10 */ 11 public static String generateBarCode128(String strBarCode, String dimension, String barheight) { 12 13 try { 14 ByteArrayOutputStream outputStream = null; 15 BufferedImage bi = null; 16 JBarcode productBarcode = new JBarcode(Code128Encoder.getInstance(), WidthCodedPainter.getInstance(), 17 EAN13TextPainter.getInstance()); 18 19 // 尺寸,面积,大小 密集程度 20 productBarcode.setXDimension(Double.valueOf(dimension).doubleValue()); 21 // 高度 10.0 = 1cm 默认1.5cm 22 productBarcode.setBarHeigth(Double.valueOf(barheight).doubleValue()); 23 // 宽度 24 productBarcode.setWideRatio(Double.valueOf(30).doubleValue()); 25 // 是否显示字体 26 productBarcode.setShowText(true); 27 // 显示字体样式 28 productBarcode.setTextPainter(BaseLineTextPainter.getInstance()); 29 30 // 生成二维码 31 bi = productBarcode.createBarcode(strBarCode); 32 33 outputStream = new ByteArrayOutputStream(); 34 ImageIO.write(bi, "jpg", outputStream); 35 // 创建输出流 36 BASE64Encoder encoder = new BASE64Encoder(); 37 return encoder.encode(outputStream.toByteArray()); 38 } catch (Exception e) { 39 e.printStackTrace(); 40 return "encodeError"; 41 } 42 } 43 44 /** 45 * @FunctionName outImgToPath 46 * @Description 生成条形码并输出到本地 47 * @author 魔方Cube 48 * @param strBarCode 条形码:0-100位 49 * @param dimension 商品条形码:尺寸 50 * @param barheight 商品条形码:高度 51 * @param path 存储路径 52 */ 53 public static void outImgToPath(String strBarCode, String dimension, String barheight, String path) { 54 String encoder = generateBarCode128(strBarCode, dimension, barheight); 55 if(encoder==null){ 56 return; 57 } 58 BASE64Decoder decoder = new BASE64Decoder(); 59 byte[] b; 60 try { 61 b = decoder.decodeBuffer(encoder); 62 OutputStream out = new FileOutputStream(path); 63 out.write(b); 64 out.flush(); 65 out.close(); 66 } catch (IOException e) { 67 e.printStackTrace(); 68 } 69 } 70 71 /** 72 * @param args 73 * @throws InvalidAtributeException 74 */ 75 public static void main(String[] args) throws InvalidAtributeException { 76 77 String encode2 = BarcodeUtil.generateBarCode128("693698334", "0.5", "30"); 78 outImgToPath("693698334", "0.5", "30", "D:\\B.jpg"); 79 System.out.println(encode2); 80 81 } 82 83 }
解决使用eclipse时无法直接使用BASE64Encoder(推荐方法三):
方法一:右键项目->点击properties,选择Java Build Path设置项,再选择Libraries标签,Add External Jars添加%JAVA_HOME%\jre\lib\rt.jar就可以使用啦。
方法二:右键项目->点击properties,将自己配置的library 文件移除,再点击add library,选择jre system Library,点击---next,最后finish 完成即可
方法三:右键项目->点击properties,选择Java Build Path设置项,再选择Libraries标签,选中jre System Library,双击Access rules,点击add,resolution选择accessible,下面填上** 点击确定即可。如图:
转载于:https://www.cnblogs.com/mosEast/p/8568295.html
Java条形码生成(128c)相关推荐
- Java条形码生成技术-Barcode4j
背景 目前二维码的应用场景已经遍布各类互联网平台,通常是将产品/商品的唯一编号存储于二维码中以做扫码识别. 而用于生产环境的条形码技术仍然存在,如硬件设备制造.供应.物流运输等等. 在常见的产品信息管 ...
- Java条形码生成-Barcode4j
背景 目前二维码的应用场景已经遍布各类互联网平台,通常是将产品/商品的唯一编号存储于二维码中以做扫码识别. 而用于生产环境的条形码技术仍然存在,如硬件设备制造.供应.物流运输等等. 在常见的产品信息管 ...
- Java 生成条形 二维码 Java 生成条形码 订单条形码 Java生成各种条形码 java条形码生成示例 java 生成条形 二维码
1.加入Maven.或者Jar依赖 maven依赖, 如果不是Maven项目,则需要去 Maven中央仓库下载Jar <!-- 二维码工具--><dependency>< ...
- pdf文件生成及条形码生成
1.导入依赖 <!-- pdf--><dependency><groupId>com.lowagie</groupId><artifactId&g ...
- 【java】生成13位条形码(Ean-13码)
[java]生成13位条形码(Ean-13码) 题目: 生成13位条形码 Ean-13码规则:第十三位数字是前十二位数字经过计算得到的校验码. 例如:690123456789 计算其校验码的过程为: ...
- vb/java/c# 生成code128 条码/QR Code二维码 导出excel
java/c#生成条形码/二维码图片,导出excel 会用到POI/NPOI,BarcodeLib.ZXing插件. code128 如果不使用插件,也可使用下面vb/c#代码生成含有校验的条码文本, ...
- 条形码生成工具类实现
1.pom引用: <!-- 条形码工具类 --> <dependency><groupId>com.google.zxing</groupId>< ...
- 只需3个步骤,轻松解决程序员在Java中生成、扫描二维码难题
条形码包含有关产品或公司的信息,以机器可读的形式直观地表示.条码广泛用于跟踪货物和库存管理.我们可以在 WPF 应用程序中轻松生成各种类型的条码.二维码广泛用于分享重要信息.对于不同的要求,您可能希望 ...
- java条形码和二维码解析
java条形码和二维码解析 条形码(一维码) 条形码(barcode) – 将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符 – 通常代表一串数字/字母,每一位有特殊含 ...
最新文章
- ASP.NET Core Web Razor Pages系列教程:使用ASP.NET Core创建Razor Pages Web应用程序
- WordPress的默认循环
- Xposed源码剖析——app_process作用详解
- 鸿蒙os首批适配机型,鸿蒙OS正式版首批名单曝光,适配速度让人意外,8款机型恭喜了...
- Java怎么使用spring定时器_浅析spring定时器的使用
- meta http-equiv=refresh content=3 什么意思?
- html 鼠标图标做成动画效果,怎么实现鼠标经过图标动画效果
- 立足于飞秋和即时通讯软件市场
- mysql5.7.11源码安装,mysql 5.7.11 源码安装
- python 联机_CoderZh首款Python联机对战游戏 - NancyTetris1.0倾情发布(一)
- Python模块的导入方法1
- win7 可以装matlab 吗,如何在win7里安装matlab7.0
- 微型计算机中Ron4,第一章 计算机文化
- 华杉讲透《孙子兵法》阅读有感(一)
- 塑胶卡扣弹性计算公式_塑胶产品结构设计卡扣
- 【报告分享】2020中国民营企业500强调研分析报告-全国工商联(附下载)
- Linux下git操作(一)——git基本命令
- 电力电子技术——sepic和zeta电路分析
- 中小企业的需求管理软件都有哪些
- dreamweaver中灵活的调整表格的宽高
热门文章
- html_5_小作业1_超链接练习
- [攻防世界 pwn]——string(内涵peak小知识)
- Linux下程序的保护机制(checksec)
- c 语言中unsigned char类型变量占用内存大小,C数据类型
- ios 隔空投安装ipa_ipa文件能不能直接安装到手机上?怎么操作?
- 关于 Unloading class sun.reflect.GeneratedSerial...
- Facade与Mediator模式的区别
- Hibernate 实体关联关系映射----总结
- spring batch
- idea安装Maven Helper