博客
关于我
barcode4j 条形码生成
阅读量:130 次
发布时间:2019-02-26

本文共 2173 字,大约阅读时间需要 7 分钟。

barcode4j 依赖的lib包略显臃肿,其中包括了/servelet-api,

因此本次选择的是轻量级的版本barcode4j-light

pom.xml添加

net.sf.barcode4j
barcode4j-light
2.0

BarcodeUtil工具类

import java.awt.image.BufferedImage;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;import org.apache.commons.lang.StringUtils;import org.krysalis.barcode4j.impl.code39.Code39Bean;import org.krysalis.barcode4j.output.bitmap.BitmapCanvasProvider;import org.krysalis.barcode4j.tools.UnitConv; /** * 条形码工具类 * * @author liunn * @createDate 2019年07月29日 * */public class BarcodeUtil {     /**     * 根据信息生成图片文件     *     * @param msg     * @param path     * @return File     */    public static File generateFile(String msg, String path) {        File file = new File(path);        try {            generate(msg, new FileOutputStream(file));        } catch (FileNotFoundException e) {            throw new RuntimeException(e);        }        return file;    }        /**     * 生成流输出到指定目录     *     * @param msg     * @param ous     */    public static void generate(String msg, OutputStream ous) {        if (StringUtils.isEmpty(msg) || ous == null) {            return;        }         Code39Bean bean = new Code39Bean();         // 精细度        final int dpi = 150;        // module宽度        final double moduleWidth = UnitConv.in2mm(1.0f / dpi);         // 配置对象        bean.setModuleWidth(moduleWidth);        bean.setWideFactor(3);        bean.doQuietZone(false);         String format = "image/png";        try {             // 输出到流            BitmapCanvasProvider canvas = new BitmapCanvasProvider(ous, format, dpi,                    BufferedImage.TYPE_BYTE_BINARY, false, 0);             // 生成条形码            bean.generateBarcode(canvas, msg);             // 结束绘制            canvas.finish();        } catch (IOException e) {            throw new RuntimeException(e);        }    }     public static void main(String[] args) {        //条形码信息        String msg = "liunnDjj";        //图片文件保存路径        String path = "D:/liunnDjj.png";        generateFile(msg, path);    }}

运行main方法后会在D盘生成liunnDjj.png文件

转载地址:http://idof.baihongyu.com/

你可能感兴趣的文章
MySQL的on duplicate key update 的使用
查看>>
MySQL的Replace用法详解
查看>>
mysql的root用户无法建库的问题
查看>>
mysql的sql_mode参数
查看>>
MySQL的sql_mode模式说明及设置
查看>>
mysql的sql执行计划详解
查看>>
mysql的sql语句基本练习
查看>>
Mysql的timestamp(时间戳)详解以及2038问题的解决方案
查看>>
mysql的util类怎么写_自己写的mysql类
查看>>
MySQL的xml中对大于,小于,等于的处理转换
查看>>
mysql的下载安装
查看>>
Mysql的两种存储引擎详细分析及区别(全)
查看>>
mysql的临时表简介
查看>>
MySQL的主从复制云栖社区_mysql 主从复制配置
查看>>
MySQL的事务隔离级别实战
查看>>
mysql的优化策略有哪些
查看>>
MySQL的使用
查看>>
mysql的全文检索的方法
查看>>
mysql的函数DATE_ADD()
查看>>
mysql的函数操作
查看>>