博客
关于我
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中B+Tree索引原理
查看>>
mysql中cast() 和convert()的用法讲解
查看>>
mysql中datetime与timestamp类型有什么区别
查看>>
MySQL中DQL语言的执行顺序
查看>>
mysql中floor函数的作用是什么?
查看>>
MySQL中group by 与 order by 一起使用排序问题
查看>>
mysql中having的用法
查看>>
MySQL中interactive_timeout和wait_timeout的区别
查看>>
mysql中int、bigint、smallint 和 tinyint的区别、char和varchar的区别详细介绍
查看>>
mysql中json_extract的使用方法
查看>>
mysql中json_extract的使用方法
查看>>
mysql中kill掉所有锁表的进程
查看>>
mysql中like % %模糊查询
查看>>
MySql中mvcc学习记录
查看>>
mysql中null和空字符串的区别与问题!
查看>>
MySQL中ON DUPLICATE KEY UPDATE的介绍与使用、批量更新、存在即更新不存在则插入
查看>>
MYSQL中TINYINT的取值范围
查看>>
MySQL中UPDATE语句的神奇技巧,让你操作数据库如虎添翼!
查看>>
Mysql中varchar类型数字排序不对踩坑记录
查看>>
MySQL中一条SQL语句到底是如何执行的呢?
查看>>