Java的方式生成条形码

【Java生成条形码】基于zxing生成条形码 最近公司有一个项目需求,需要导出Excel图片,导出的图片需要生成条形码,这里写了一个基于谷歌zxing的条形码生成工具类。 阅读详情

用Java的方式生成条形码可以有两种方式:

1.用servlet的方式来生成

2.纯Java的方式来生成


第一种:

代码如下:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String code = request.getParameter("code");
		
		try {  
            ByteArrayOutputStream outputStream = null;  
            BufferedImage bi = null;  
            int len = code.length();  
            JBarcode productBarcode = new JBarcode(Code128Encoder.getInstance(),  
                    WidthCodedPainter.getInstance(),  
                    EAN13TextPainter.getInstance());  
   
            // 尺寸,面积,大小 密集程度  
            productBarcode.setXDimension(Double.valueOf("0.5").doubleValue());  
            // 高度 10.0 = 1cm 默认1.5cm  
            productBarcode.setBarHeight(Double.valueOf("30").doubleValue());  
            // 宽度  
            productBarcode.setWideRatio(Double.valueOf(30).doubleValue());  
//              是否显示字体  
            productBarcode.setShowText(true);  
//             显示字体样式  
            //System.out.println(BaseLineTextPainter.getInstance().toString());
            productBarcode.setTextPainter(BaseLineTextPainter.getInstance());   
   
            // 生成二维码  
            bi = productBarcode.createBarcode(code);  
            
            ImageIO.write(bi, "jpg", response.getOutputStream());  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
	}
这种方式生成的条形码会出现在jsp页面里,你可以在浏览器中访问你的servlet就可已看见它


第二种将条形码生成到本地:

既然是生成到本地,那肯定要用到IO流

代码如下:

package cn.wge.test;

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import org.jbarcode.JBarcode;
import org.jbarcode.encode.Code128Encoder;
import org.jbarcode.paint.EAN13TextPainter;
import org.jbarcode.paint.WidthCodedPainter;
import org.jbarcode.util.ImageUtil;
public class Util { 
    /**
     * 生成商品条形码
     *
     * @param filePath
     *            商品条形码图片存放路径:../xxx/yyy/
     * @param jbarCode
     *            商品条形码:8位、13位
     * @param format
     *            商品条形码图片格式:.gif/.png/.jpg/.jpeg
     * @return 图片存放路径+图片名称+图片文件类型
     */
    public String createBarCode(String filePath, String jbarCode, String format) {
    	
        String barCodeName = jbarCode + format;

        try {
            BufferedImage bi = null;          
            JBarcode productBarcode = new JBarcode(Code128Encoder.getInstance(),
                    WidthCodedPainter.getInstance(),
                    EAN13TextPainter.getInstance());
 
            bi = productBarcode.createBarcode(jbarCode);
            saveToJPG(bi, filePath, barCodeName);
            // 尺寸,面积,大小 密集程度  
            productBarcode.setXDimension(Double.valueOf("0.5").doubleValue());  
            // 高度 10.0 = 1cm 默认1.5cm  
            productBarcode.setBarHeight(Double.valueOf("30").doubleValue());  
            // 宽度  
            productBarcode.setWideRatio(Double.valueOf(30).doubleValue());  
            //是否显示字体  
            productBarcode.setShowText(true);
            return filePath + barCodeName;
        } catch (Exception localException) {
            localException.printStackTrace();
            return null;
        }
    }
    /**
     * 生成JPEG图片
     *
     * @param paramBufferedImage
     * @param paramString
     */
    @SuppressWarnings("unused")
    private void saveToJPG(BufferedImage paramBufferedImage, String filePath,
            String fileName) {
        saveToFile(paramBufferedImage, filePath, fileName, "jpeg");
    }
 
    /**
     * 生成PNG图片
     *
     * @param paramBufferedImage
     * @param paramString
     */
    @SuppressWarnings("unused")
    private void saveToPNG(BufferedImage paramBufferedImage, String filePath,
            String fileName) {
        saveToFile(paramBufferedImage, filePath, fileName, "png");
    }

    /**
     * 保存图片文件
     *
     * @param paramBufferedImage
     *            图片流
     * @param filePath
     *            文件路径
     * @param imgName
     *            图片参数
     * @param imgFormat
     *            图片格式
     */
    private  void saveToFile(BufferedImage paramBufferedImage, String filePath,
            String imgName, String imgFormat) {
    	
        try {
        	System.out.println("saveToFile");
            FileOutputStream fileOutputStream = null;
            try {
                
                String dirPath = filePath;
                
                File dirFile = new File(dirPath);
                if (!dirFile.exists()) {
                    dirFile.mkdirs();
                }
                String imgPath = dirPath + imgName;
                fileOutputStream = new FileOutputStream(imgPath);
            } catch (Exception e) {
                System.out.println("Create Img File Error:" + e.toString());
            }
            ImageUtil.encodeAndWrite(paramBufferedImage, imgFormat,
                    fileOutputStream, 96, 96);
            fileOutputStream.close();
        } catch (Exception localException) {
            System.out.println("Save Img File Error:" + localException);
            localException.printStackTrace();
        }
    }
}




Java二维码与条形码生成库详解:ZXing、QRGen与Barcode4J实战代码示例 总结来说,ZXing库提供了全面的二维码和条形码生成与解析能力,而QRGen库则提供了简洁的API专门用于生成高质量的QR Code。在Java开发中,生成二维码和条形码通常依赖于第三方库,这些库封装了复杂的数据编码算法和图像生成过程,使得开发者只需通过简单易用的API就能快速创建所需条码或二维码。是一个专注于生成高质量QR Code的轻量级Java库,它提供了一种简洁的API,允许用户快速生成二维码,并支持自定义颜色、大小等属性。,并附带详尽的代码示例及注释,以帮助理解如何使用它们来生成二维码和条形码。 阅读详情

相关推荐

Java三种生成条形码的源码(barcode4j、jbarcode、google-zxing)

Java三种生成条形码的源码 1、用barcode4j方式生成 2、用jbarcode方式生产成 3、google-zxing方式生成,但该方式较不方便,添加条形码数字叫复杂

Java生成条形码

Java生成条形码

胖达哒的博客 5070

数电实训:万年历

万年历

Lmyccq的博客 1万+

Java生成二维码及条形码工具

com.google.zxing是一个开源的Java库,它可以用于生成和解码各种类型的二维码和条形码。

蚂蚁小哥 2950

Obsidian从零搭建:可验证、可回溯、可演进的知识库工具链

个人知识库不是开箱即用的软件,而是基于Markdown内核构建的可演进系统。其核心原理在于分离‘稳定内核’与‘可插拔扩展’:Obsidian原生支持双链、嵌入、Frontmatter等基础能力,构成不可降级的知识骨架;而Dataview、Templater等插件则作为可验证、可回溯的增强层,需通过三问验证(解决痛点?有原生替代?失效可降级?)方可引入。这种设计赋予知识库技术价值——抗版本升级、跨平台兼容、离线可用,并支撑技术文档管理、项目复盘、读书笔记等真实场景。当面对computer use插件不可用或h

weixin_30660027的博客 680

国产AI芯动力:复旦微FMQL100TAI900 FPGA原型验证板全解析

本文全面解析了复旦微FMQL100TAI900 FPGA原型验证板在国产AI硬件领域的创新突破。该板卡采用全栈国产化设计,具备出色的AI推理性能、视频处理能力和接口生态,特别适合工业质检、智能交通等场景。文章详细介绍了其芯片架构、存储子系统、接口扩展及电源设计,并分享了实战开发经验,为开发者提供了一套可靠的国产计算平台解决方案。

weixin_29250573的博客 456

Interleaved2of5编码方式生成条形码并转换成pdf输出流以字节数组形式保存

Interleaved2of5编码方式生成条形码并转换成pdf输出流以字节数组形式保存 import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com.itextpdf.text.Image; import com.itextpdf.text.Rectangle; import co...

changhong52的博客 1844

2026最新 OpenClaw 手机端部署与实战:旧手机秒变 AI 智能终端(Android/iOS 双平台全覆盖)

OpenClaw 是2026年 GitHub 爆火的开源自托管 AI 执行网关,前身是 Clawdbot / Moltbot,主打“一句话让 AI 帮你完成真实操作”,核心能力包括发消息、整理文件、控制设备、自动化任务等,区别于普通对话式 AI,它能将 AI 指令转化为实际行动。无需高配置设备,无需专业技术,旧手机就能变身随身 AI 助手,既能实现自动化办公、生活便捷,又能保障数据隐私,还能体验极客玩法,这正是开源技术的魅力。# 初始化配置(按提示操作,配置 AI 模型 API Key)

wohaiweifaju的博客 5641

JAVA生成扫描条形码

  条形码是一种可视化、机器可读的数据,这些数据通常描述了携带该条码的物品的相关信息。条形码已经广泛被应用在商品流通,图书管理,邮政管理和银行系统等领域。在这篇文章中,将介绍如何生成和扫描一些常见的一维和二维条形码。 所需工具: Free Spire.Barcode for Java 1.3(免费版) Intellij IDEA Jar包文件导入: 方式(一):首先,官网获...

weixin_30648963的博客 693

手把手教你学AUTOSAR(13.1)--基于 AUTOSAR 的开发实战实例(一)

通过上述几个基于 AUTOSAR 的开发实战实例,你可以全面了解如何从需求分析、系统设计、软件开发、集成测试到部署和验证等多个环节进行 AUTOSAR 系统的开发。这些实例不仅涵盖了不同的应用场景,还提供了具体的代码实现和技术细节,帮助你更好地应用 AUTOSAR 标准。

MHD0815的博客 1195

【OpenClaw从入门到精通】第20篇:OpenClaw实战—从零搭建教育自动化助教系统(作业批改+智能答疑+学情分析)【2026实测】

本文基于OpenClaw开源框架,聚焦教育行业“答疑重复、批改耗时、学情模糊”三大核心痛点,提供从环境部署到功能落地的全流程实操方案。通过整合QQ群交互、代码分析、数据可视化等技能,构建“智能答疑+作业批改+学情分析”的自动化助教系统。系统支持7×24小时群聊答疑、多语言作业自动评审、学情数据周报生成,经实测可使助教工作时间减少60%、作业批改效率提升5-10倍、学情问题识别提前5周。文中包含完整配置步骤、可直接运行的代码示例及避坑指南,兼顾新手入门与进阶实操,帮助教育工作者快速落地自动化工具,从重复劳动中

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1448

条码控件Aspose.BarCode教程:在 Java 中生成 PDF417 条形码

使用Aspose.BarCode for Java在 Java 中生成 PDF417 条形码对许多行业至关重要。这种条形码格式广泛应用于库存管理、运输和文档跟踪等应用。

开发者效率提升工具的博客 728

教程: 将 SolidWorks 设计导出为 ROS 的 URDF

请按照以下步骤应用自定义徽标纹理:创建徽标材质文件:techniquepass材质名称:测试/材质颜色属性:环境、漫反射、镜面和发射都设置为白色(1 1 1 1),这意味着该材质看起来完全是白色的。纹理 在表面应用纹理图像 logo.png。将材质文件复制到 gazebo matrial:复制徽标图像:将 “徽标 ”替换为机器人上徽标所在位置的适当参考值。按照以上步骤,您就可以在 Gazebo 中为机器人添加自定义材质和纹理,包括徽标。

机器人控制与仿真应用 2456

JAVA 生成扫描条形码

声明:转载为个人学习收藏,如有侵权,请及时联系本人删除,转载地址:https://www.cnblogs.com/MariaWang/p/10837641.html   条形码是一种可视化、机器可读的数据,这些数据通常描述了携带该条码的物品的相关信息。条形码已经广泛被应用在商品流通,图书管理,邮政管理和银行系统等领域。在这篇文章中,将介绍如何生成和扫描一些常见的一维和二维条形码。...

weixin_30586257的博客 368

apollo自动驾驶进阶学习之:如何实现施工路段限速绕行及其参数调试

首先需要理解Planning模块是基于Scenario、Stage、Task这样的层次来进行的,即场景->步骤->具体的决策方法。Apollo可以应对自动驾驶所面临的不同道路场景,都是通过Scenario统一注册与管理。Scenario通过一个有限状态机来判断选择当前行车场景,每个Scenario下又有多个Stage,指当前场景下需要执行的粗略步骤。.........

qq_41593516的博客 6596

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

java 生成条形码

package com.imgread;import java.text.SimpleDateFormat;import java.util.Date;import java.util.TimeZone;public class Code {  /*protected void Page_Load(object sender, EventArgs e) {  Response.Write(

Spring 的专栏 1641

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Java条形码生成技术-Barcode4j

背景 目前二维码的应用场景已经遍布各类互联网平台,通常是将产品/商品的唯一编号存储于二维码中以做扫码识别。 而用于生产环境的条形码技术仍然存在,如硬件设备制造、供应、物流运输等等。 在常见的产品信息管理、物料订单系统中,存在多个生成及打印条形码(一维码)的需求场景。   解决方案 Java生成条形码的方案 -- barcode4j、zxing barcod

qq_30774739的博客 1049

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

java生成条形码

public void outputtingBarcodeAsAJPEGImage() throws BarcodeException { // Always get a Barcode from the BarcodeFactory Barcode barcode = BarcodeFactory.createCode128B("http://zeroliu.blogd...

EJB_wawa 337

条形码生成 图片裁剪 上传七牛云 返回URL链接

背景:最近一个项目的会员模块,需要将会员手机号码转换成条形码展示出来,并保证能够被扫码枪识别。 接着,简要说明下编码思路,或者说步骤: 引入 aspose.barcode 的Jar依赖 调用API,合理配置相关属性,生成条形码 根据需要对第2步的图片进行一轮裁剪 将图片以二进制流的方式上传至七牛云 拼接条形码的访问链接URL 引入Jar依赖(maven) <repository...

Blake的博客 756

生成条形码和二维码的工具类

public class ZXingUtils { /** * 生成二维码 要转换的地址或字符串,可以是中文 * * @param url * @param width * @param height * @return */ public static Bitmap createQRImage(String url, final int width, final int height) { tr...

xieyaofeng的博客 291

生成条形码

import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import org.kry

hekang1011的专栏 1441

条形码 生成条形码

用java生成条形码: 查阅了一下资料,感觉barcode4j还是比较好用。下面把心得和大家简单的分享一下。 1、 首先我到barcode4j.官网站上下载barcode4j-2.0-src.zip压缩包。 2、 解压barcode4j-2.0-src.zip这个包,在lib目录下有avalon-framework- 4.2.0.jar,commons-cli-1.0.jar,...

guwh 280

java 二维码_JAVA生成扫描条形码二维码

条形码是一种可视化、机器可读的数据,这些数据通常描述了携带该条码的物品的相关信息。条形码已经广泛被应用在商品流通,图书管理,邮政管理和银行系统等领域。在这篇文章中,将介绍如何生成和扫描一些常见的一维和二维条形码。所需工具:Free Spire.Barcode for Java 1.3(免费版)Intellij IDEA Jar包文件导入:方式(一):首先,官网获取jar包Step 1: 下载Jar...

weixin_39727105的博客 765

Java onbarcode和barcode4j生成条形码实例

//--------------------以下是使用onbarcode生成的code_93码-------------------- /** *功能描述:将条形码输出到页面 * *@since2016/6/216:48 */ @RequestMapping(value="/outputBarcode") @ResponseBody publicvoid...

weixin_33805743的博客 237

zxing绘制条形码总结

基本使用 首先工程中导入zxing的依赖,如下: <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.3.3</version> </dependency> <!-- https://mvnrepository.com/artifact/com.google.

weixin_48276298的博客 1834

采用GDI生成Code39条形码

采用GDI技术生成条形码(Code39) 简介 Ø Code39介绍 Ø Code Table Ø 示例 Code39介绍 1. Code 39是一种条形码的编码标准。它的码表构成由26个大写英文字母(A-Z)和10个数字符号(0-9)以及7个特殊字符(-.sp*/+%)组成。 2. 一个Code3...

weixin_34117211的博客 288
上一篇: Ajax请求json文本
下一篇: Spring常用的四大注解
Java扛把子_WGE
博客等级 码龄10年 6粉丝 57原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值