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");
    //    }
    //    
    }
  • 相关阅读:
    HDU3145 Max Sum of Max-K-sub-sequence (单调队列模板)
    AcWing1088 旅行问题(单调队列)
    POJ1821 Fence(单调队列)
    POJ1742 Coins(多重背包+二进制优化)
    AcWing217 绿豆蛙的归宿(期望)
    BZOJ.2134.[国家集训队]单选错位(概率 递推)
    洛谷.3805.[模板]manacher算法
    Codeforces.280C.Game on Tree(期望)
    BZOJ.2521.[SHOI2010]最小生成树(最小割ISAP/Dinic)
    洛谷.4172.[WC2006]水管局长(LCT Kruskal)
  • 原文地址:https://www.cnblogs.com/linbky/p/12091248.html
Copyright © 2011-2022 走看看