生成条形码显示到界面
<span style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px; background-color: rgb(255, 255, 255);">1、生成条形码的java后台代码如下,需要下载</span><a target=_blank target="_blank" href="http://download.csdn.net/detail/fzdswz/7985773" style="font-family: Arial; font-size: 14px; line-height: 26px; color: rgb(51, 102, 153); text-decoration: none; background-color: rgb(255, 255, 255);">jbarcode-0.2.8.jar</a>
- package com.xxx;
- import java.awt.image.BufferedImage;
- import java.io.ByteArrayOutputStream;
- import java.io.IOException;
- import javax.imageio.ImageIO;
- import javax.servlet.ServletConfig;
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.jbarcode.JBarcode;
- import org.jbarcode.encode.Code128Encoder;
- import org.jbarcode.encode.Code39Encoder;
- import org.jbarcode.encode.EAN13Encoder;
- import org.jbarcode.encode.InvalidAtributeException;
- import org.jbarcode.paint.BaseLineTextPainter;
- import org.jbarcode.paint.EAN13TextPainter;
- import org.jbarcode.paint.WideRatioCodedPainter;
- import org.jbarcode.paint.WidthCodedPainter;
- public class BarCodeServlet extends HttpServlet {
- private static final long serialVersionUID = 1L;
- private JBarcode jBarcode;
- /**
- * 初始化条形码对象
- */
- public void init(ServletConfig conf) throws ServletException {
- super.init(conf);
- // 默认生成code39类型条形码
- jBarcode = new JBarcode(Code39Encoder.getInstance(),
- WideRatioCodedPainter.getInstance(),
- BaseLineTextPainter.getInstance());
- jBarcode.setShowText(true);// 显示图片下字符串内容
- jBarcode.setShowCheckDigit(true);// 显示字符串内容中是否显示检查码内容
- jBarcode.setCheckDigit(false);// 不生成检查码
- }
- public void doGet(HttpServletRequest req, HttpServletResponse resp)
- throws ServletException, IOException {
- resp.setContentType("image/gif");
- resp.setHeader("Pragma", "no-cache");
- resp.setHeader("Cache-Control", "no-cache");
- // 传入的参数,
- // 如果是判断条件,则用0,1表示,‘0’即无效或者不现实,‘1’即有效或者显示
- // 字符串参数
- String msg = req.getParameter("msg");
- // 是否显示图片下字符串内容
- String showText = req.getParameter("st");
- // 是否显示检查码内容
- String showCheckDigit = req.getParameter("scd");
- // 是否生成检查码
- String checkDigit = req.getParameter("cd");
- // 生成条形码类型
- String codeType = req.getParameter("codeType");
- //设置条形码barHeight
- String barH = req.getParameter("barH");
- //设置XDimension
- String barXD = req.getParameter("barXD");
- // 判断字符串内容
- if (msg == null)
- //msg = "788515004012";
- // 判断显示图片下字符串内容
- if ("0".equals(showText))
- jBarcode.setShowText(false);
- //判断barHeight
- if(barH != null && !barH.equals("")){
- double x = Double.valueOf(barH);
- jBarcode.setBarHeight(x);
- }
- if(barXD != null && !barXD.equals("")){
- try {
- //jBarcode.setWideRatio(10);
- jBarcode.setXDimension(Double.valueOf(barXD));
- } catch (InvalidAtributeException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }else{
- try {
- //jBarcode.setWideRatio(10);
- jBarcode.setXDimension(Double.valueOf(0.5));
- } catch (InvalidAtributeException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- // 判断显示检查码内容
- if ("1".equals(showCheckDigit))
- jBarcode.setShowText(true);
- // 判断生成检查码
- if ("1".equals(checkDigit))
- jBarcode.setShowText(true);
- // 判断生成条形码类型
- if(codeType != null && !"".equals(codeType)){
- if (codeType.equalsIgnoreCase("EAN13")) {
- // EAN13条形码基本属性,必要添加条件
- jBarcode.setEncoder(EAN13Encoder.getInstance());
- jBarcode.setPainter(WidthCodedPainter.getInstance());
- jBarcode.setTextPainter(EAN13TextPainter.getInstance());
- //必须需要以下属性
- jBarcode.setCheckDigit(true);
- } else if(codeType.equalsIgnoreCase("code128")){
- jBarcode.setEncoder(Code128Encoder.getInstance());
- jBarcode.setPainter(WidthCodedPainter.getInstance());
- jBarcode.setTextPainter(BaseLineTextPainter.getInstance());
- jBarcode.setCheckDigit(false);
- jBarcode.setShowCheckDigit(false);
- }else{
- // 这里设置 根据不同的条件设定生成的条形码基本属性,如EAN13。
- // 通过if...else...来判断即可
- // 默认生成的是Code39
- // 默认生成code39类型条形码
- }
- }
- // 生成条形码,并通过输出来展示在页面上
- try {
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- BufferedImage localBufferedImage = jBarcode.createBarcode(msg);
- ImageIO.write(localBufferedImage, "png", out);
- byte[] b = out.toByteArray();
- resp.getOutputStream().write(b);
- } catch (InvalidAtributeException e) {
- e.printStackTrace();
- }
- }
- public void doPost(HttpServletRequest req, HttpServletResponse resp)
- throws ServletException, IOException {
- try {
- doGet(req, resp);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
2、前台jsp显示代码:传递的参数可以自己设置,参考java后台代码jBarcode对象。
- <img style="vertical-align:middle;" src="<%=request.getContextPath()%>/BarCodeServlet?msg=${placeOrderNo}&barH=12.2&barXD=0.4&codeType=code128"/>
3、在web.xml配置java类:
- <servlet>
- <servlet-name>BarCodeServlet</servlet-name>
- <servlet-class>com.xxx.BarCodeServlet</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>BarCodeServlet</servlet-name>
- <url-pattern>/BarCodeServlet</url-pattern>
- </servlet-mapping>
注:对于jBarcode的参数设置可以看引用的包里面的org.jbarcode.demo的代码。支持多种格式的条形码生成。
生成条形码显示到界面相关推荐
- 碎步二:zxing核心包生成条形码和二维码
最近闲得无趣,于是写点技术知识放到博客上,希望以后对自己有所帮助.随着时代的发展,二维码已经悄悄的被时代所认可,不管是个人或者公司,二维码受到很多人的认可,如今在互联网上二维码几乎随处可见.废话不多说 ...
- springboot生成条形码并直接输出显示
springboot生成条形码,并直接输出 条形码工具类: package com.cz.util;import com.google.zxing.BarcodeFormat; import com. ...
- php tp5生成条形码,thinkphp5 + barcode 生成条形码
2.解压放到"E:phpstudyPHPTutorialWWWguahaovendor下",其中class文件是所有的类文件,生成条形码就是调用文件夹里的类,font文件是字体,i ...
- pHp封装成vue,vue.js生成条形码的方法
本文主要和大家分享vue.js生成条形码的方法,主要以代码的形式和大家分享,希望能帮助到大家. 1.下载插件npm install @xkeshi/vue-barcode //下载条形码插件 2.在m ...
- 如何用TXT文档数据批量生成条形码
我们在制作商品标签的时候,经常需要根据已有的条码数据来批量生成条形码.这些条码数据一般存储在TXT文档.excel表或者是其他类型数据库中,具体怎么操作呢?我们就以TXT文档做实例,和大家分享一下如何 ...
- 小程序 生成条形码barcode.js
1.下载barcode.js,新建一个文件wxbarcode.js用于计算条形码的宽高,以自适应不同手机屏显示 var barcode = require('./barcode'); function ...
- datatable如何生成级联数据_如何把Excel表数据批量生成条形码
条形码属于一维条码,是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符,条形码的种类比较多,比如常用的Code128码,Code39码,Code93码,EAN-13码, ...
- qt中QHBoxLayout或QVBoxLayout布局内控件的动态生成与显示
---恢复内容开始--- qt中QHBoxLayout或QVBoxLayout布局内控件的动态生成与显示 打个比方,我现在写个小例子,这个小例子是这样的,整个界面分为俩个部分,分为上半部分和下半部分, ...
- excel服务器条形码不显示,excel怎么制作条形码教程 excel条形码显示不出怎么办...
现在很多excel用户都会在excel表格中制作条形码,很多刚开始学习excel软件的用户不太了解,那么下面小编就为大家带来excel 制作条形码的详细教程,不懂制作的朋友可以抽点时间学习下. exc ...
最新文章
- sgn matlab,matlab中.*的问题
- homepod怎么设置为中文_设置 HomePod
- php fgetcsv函数,PHP中的fgetcsv()函数
- Leetcode刷题 34.在排序数组中查找元素的第一个和最后一个位置
- Type class-Typeclass-泛型基础上的二次抽象
- 智能会议系统---(4)VOIP 实现
- python:DataFrame连续取前23列数据,或者连续取前2行数据,或者取某行某列数据
- php扩展intl安装不成功,phpstudy开启php_intl扩展启动弹出错误的解决方法
- I/O资源如何映射到内核虚拟空间
- Rufus 制作U盘启动器
- python画平行四边形_Python中最小的封闭平行四边形
- linux Nginx服务的安装及使用
- SecureCRT中文乱码、复制粘贴乱码解决办法
- B. Chris and Magic Square
- [Python] 小明又迟到了……一个故事讲清楚 Python 循环嵌套
- ARP代理(善意的欺骗)
- 什么是RAID? 硬RAID 和软RAID的区别是什么?
- 如何修复因卸载ccleaner导致的回收站损坏
- NMEA-0183 协议 ——GPS芯片输出标准格式
- 一笔画(AC)DFS算法