条形码工具类,根据字符串生成条形码


import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;

import javax.imageio.ImageIO;

import org.apache.xerces.impl.dv.util.Base64;
import org.jbarcode.JBarcode;
import org.jbarcode.encode.Code128Encoder;
import org.jbarcode.paint.BaseLineTextPainter;
import org.jbarcode.paint.EAN13TextPainter;
import org.jbarcode.paint.WidthCodedPainter;
/**
 * 条形码工具类
 * @author Administrator
 */
public class BarcodeUtil {
	/**
	 * 生成条形码
	 * @param strBarCode 条形码内容
	 * @param dimension 尺寸,面积,大小 密集程度 
	 * @param barheight 高度 10.0 = 1cm 默认1.5cm
	 * @return 返回条形码图片的byte64编码
	 */
	 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(30).doubleValue());  
             //是否显示字体  
             productBarcode.setShowText(false);  
             //显示字体样式  
             productBarcode.setTextPainter(BaseLineTextPainter.getInstance());   
    
             //生成条形码 
             bi = productBarcode.createBarcode(strBarCode);  
               
             outputStream = new ByteArrayOutputStream();  
             ImageIO.write(bi, "jpg", outputStream);  
             Base64 encoder=new Base64();  
//         System.err.println(encoder.encode(outputStream.toByteArray()));  

             return encoder.encode(outputStream.toByteArray());  
         } catch (Exception e) {  
             e.printStackTrace();  
             return "encodeError";  
         }  
     }  
}

猜你喜欢

转载自blog.csdn.net/Janderbake/article/details/88924729