数字转条码

package com.glbk.hec.util;


import org.jbarcode.JBarcode;
import org.jbarcode.encode.Code128Encoder;
import org.jbarcode.encode.InvalidAtributeException;
import org.jbarcode.paint.BaseLineTextPainter;
import org.jbarcode.paint.EAN13TextPainter;
import org.jbarcode.paint.WidthCodedPainter;
import sun.misc.BASE64Encoder;


import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;


public class BarcodeUtil {


    /**
     * 128条形码
     *
     * @param strBarCode
     *            条形码:0-100位
     * @param dimension
     *            商品条形码:尺寸
     * @param barheight
     *            商品条形码:高度
     * @return 图片(Base64编码)
     */
    public static byte[] 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(30).doubleValue());
//	      		    是否显示字体
            productBarcode.setShowText(true);
//	         	   显示字体样式
            productBarcode.setTextPainter(BaseLineTextPainter.getInstance());


            // 生成二维码
            bi = productBarcode.createBarcode(strBarCode);




            outputStream = new ByteArrayOutputStream();


            ImageIO.write(bi, "jpg", outputStream);
         //   BASE64Encoder encoder = new BASE64Encoder(); //转64
    //  System.err.println(encoder.encode(outputStream.toByteArray()));


            return outputStream.toByteArray();
        } catch (Exception e) {
            e.printStackTrace();
         return null;
        }
    }


    public static void main(String[] args)  throws InvalidAtributeException {
        byte[] buf=   BarcodeUtil.generateBarCode128("820171026","0.5","30");
  //  System.out.print(a);
      //获取内存缓冲中的数据
        for(int i=0;i<=buf.length;i++)
        {
            System.out.println(buf);
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值