java生成128A条形码

添加maven依赖

        <dependency>
            <groupId>net.sf.barcode4j</groupId>
            <artifactId>barcode4j-light</artifactId>
            <version>2.0</version>
        </dependency>
package com.yutong.common.utils.print;

import java.util.*;

import org.krysalis.barcode4j.impl.code128.Code128Bean;
import org.krysalis.barcode4j.output.bitmap.BitmapCanvasProvider;
import org.krysalis.barcode4j.tools.UnitConv;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.yutong.common.utils.StringUtils;

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

public class BarCodeUtil {
    
    private static Logger logger = LoggerFactory.getLogger(BarCodeUtil.class);
    
    /**
     * 生成包裹单号条形码
     * @param text
     * @param path
     */
    public static File generateBarCode(String text,String path){
        BitmapCanvasProvider canvas = null;
        File file = null;
        OutputStream ous = null;
        try {
            text = text.toUpperCase();
            file=new File(path);
            ous=new FileOutputStream(file);
            if(StringUtils.isEmpty(text) || ous==null)
                return null;
            //选择条形码类型(好多类型可供选择)
            Code128Bean bean=new Code128Bean();
            //设置长宽
            final int dpi = 150;
            
            bean.setModuleWidth(UnitConv.in2mm(1.8 / dpi));
//            bean.setHeight(9.5);
            bean.doQuietZone(true);
            String format = "image/x-png";
            // 输出流
            canvas = new BitmapCanvasProvider(ous, format,
                    dpi, BufferedImage.TYPE_BYTE_BINARY, false, 0);
            //生成条码
            bean.generateBarcode(canvas,text);
            
        }catch (IOException e) {
            logger.info("生成包裹单号条形码异常"+e);
        }finally {
            if(canvas!=null){
                try {
                    canvas.finish();
                    ous.flush();
                    ous.close();
                } catch (IOException e) {
                    logger.info("canvas.finish异常"+e);
                }
            }
            
        }
        return new File(path);
 
    }
//    
//    public static void main(String[] args) {
//        generatePakageNumberBarCode("kd20191211081-1-1","D://包裹单.png");
//    }
//    
}
原文地址:https://www.cnblogs.com/linbky/p/12091248.html