java 打印一维码_java生成一维码

/**

*

* 一维码图片生成器

* @author winter.liu

*

*/

public class OneBarcodeUtil {

/**

* 生成一维码

* @param value 值

* @return

*/

public static byte[] createBarcodeDefault(String value){

return createBarcode(Code39Encoder.class,value,false);

}

//产生一维码图片

public static byte[] createBarcode(Class> clazz,String value,boolean checkDigit){

try{

JBarcode localJBarcode = new JBarcode(getInstance(clazz),WidthCodedPainter.getInstance(),EAN13TextPainter.getInstance());

localJBarcode.setPainter(WideRatioCodedPainter.getInstance());

localJBarcode.setTextPainter(BaseLineTextPainter.getInstance());

localJBarcode.setCheckDigit(checkDigit);

localJBarcode.setShowCheckDigit(checkDigit);

return getBytes(localJBarcode.createBarcode(value));

}catch (Exception e) {

e.printStackTrace();

return null;

}

}

//获取单例的对象

private static BarcodeEncoder getInstance(Class> clazz) throws Exception{

Constructor>[] constructors=clazz.getDeclaredConstructors();

Constructor> privateConstructor = constructors[0];

privateConstructor.setAccessible(true);

return (BarcodeEncoder)privateConstructor.newInstance();

}

//获取图片字节码数组

private static byte[] getBytes(BufferedImage paramBufferedImage) throws IOException{

return ImageUtil.encode(paramBufferedImage,"jpeg", 96, 96);

}

}

所需jar:jbarcode-0.2.8.jar

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值