zoukankan      html  css  js  c++  java
  • 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");
    //    }
    //    
    }
  • 相关阅读:
    Java switch 枚举
    (八十七)AutoLayout的简单介绍与实例
    ptime概述
    如何让大数据从发现价值到创造价值
    什么是数据分析?数据分析的6个关键步骤!
    什么是数据分析?数据分析的6个关键步骤!
    数据分析方法汇总(2)
    数据分析方法汇总(2)
    数据分析方法汇总(1)
    人工智能能力提升指导总结
  • 原文地址:https://www.cnblogs.com/linbky/p/12091248.html
Copyright © 2011-2022 走看看