<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>
[java] view plaincopy
  1. package com.xxx;
  2. import java.awt.image.BufferedImage;
  3. import java.io.ByteArrayOutputStream;
  4. import java.io.IOException;
  5. import javax.imageio.ImageIO;
  6. import javax.servlet.ServletConfig;
  7. import javax.servlet.ServletException;
  8. import javax.servlet.http.HttpServlet;
  9. import javax.servlet.http.HttpServletRequest;
  10. import javax.servlet.http.HttpServletResponse;
  11. import org.jbarcode.JBarcode;
  12. import org.jbarcode.encode.Code128Encoder;
  13. import org.jbarcode.encode.Code39Encoder;
  14. import org.jbarcode.encode.EAN13Encoder;
  15. import org.jbarcode.encode.InvalidAtributeException;
  16. import org.jbarcode.paint.BaseLineTextPainter;
  17. import org.jbarcode.paint.EAN13TextPainter;
  18. import org.jbarcode.paint.WideRatioCodedPainter;
  19. import org.jbarcode.paint.WidthCodedPainter;
  20. public class BarCodeServlet extends HttpServlet {
  21. private static final long serialVersionUID = 1L;
  22. private JBarcode jBarcode;
  23. /**
  24. * 初始化条形码对象
  25. */
  26. public void init(ServletConfig conf) throws ServletException {
  27. super.init(conf);
  28. // 默认生成code39类型条形码
  29. jBarcode = new JBarcode(Code39Encoder.getInstance(),
  30. WideRatioCodedPainter.getInstance(),
  31. BaseLineTextPainter.getInstance());
  32. jBarcode.setShowText(true);// 显示图片下字符串内容
  33. jBarcode.setShowCheckDigit(true);// 显示字符串内容中是否显示检查码内容
  34. jBarcode.setCheckDigit(false);// 不生成检查码
  35. }
  36. public void doGet(HttpServletRequest req, HttpServletResponse resp)
  37. throws ServletException, IOException {
  38. resp.setContentType("image/gif");
  39. resp.setHeader("Pragma", "no-cache");
  40. resp.setHeader("Cache-Control", "no-cache");
  41. // 传入的参数,
  42. // 如果是判断条件,则用0,1表示,‘0’即无效或者不现实,‘1’即有效或者显示
  43. // 字符串参数
  44. String msg = req.getParameter("msg");
  45. // 是否显示图片下字符串内容
  46. String showText = req.getParameter("st");
  47. // 是否显示检查码内容
  48. String showCheckDigit = req.getParameter("scd");
  49. // 是否生成检查码
  50. String checkDigit = req.getParameter("cd");
  51. // 生成条形码类型
  52. String codeType = req.getParameter("codeType");
  53. //设置条形码barHeight
  54. String barH = req.getParameter("barH");
  55. //设置XDimension
  56. String barXD = req.getParameter("barXD");
  57. // 判断字符串内容
  58. if (msg == null)
  59. //msg = "788515004012";
  60. // 判断显示图片下字符串内容
  61. if ("0".equals(showText))
  62. jBarcode.setShowText(false);
  63. //判断barHeight
  64. if(barH != null && !barH.equals("")){
  65. double x = Double.valueOf(barH);
  66. jBarcode.setBarHeight(x);
  67. }
  68. if(barXD != null && !barXD.equals("")){
  69. try {
  70. //jBarcode.setWideRatio(10);
  71. jBarcode.setXDimension(Double.valueOf(barXD));
  72. } catch (InvalidAtributeException e) {
  73. // TODO Auto-generated catch block
  74. e.printStackTrace();
  75. }
  76. }else{
  77. try {
  78. //jBarcode.setWideRatio(10);
  79. jBarcode.setXDimension(Double.valueOf(0.5));
  80. } catch (InvalidAtributeException e) {
  81. // TODO Auto-generated catch block
  82. e.printStackTrace();
  83. }
  84. }
  85. // 判断显示检查码内容
  86. if ("1".equals(showCheckDigit))
  87. jBarcode.setShowText(true);
  88. // 判断生成检查码
  89. if ("1".equals(checkDigit))
  90. jBarcode.setShowText(true);
  91. // 判断生成条形码类型
  92. if(codeType != null && !"".equals(codeType)){
  93. if (codeType.equalsIgnoreCase("EAN13")) {
  94. // EAN13条形码基本属性,必要添加条件
  95. jBarcode.setEncoder(EAN13Encoder.getInstance());
  96. jBarcode.setPainter(WidthCodedPainter.getInstance());
  97. jBarcode.setTextPainter(EAN13TextPainter.getInstance());
  98. //必须需要以下属性
  99. jBarcode.setCheckDigit(true);
  100. } else if(codeType.equalsIgnoreCase("code128")){
  101. jBarcode.setEncoder(Code128Encoder.getInstance());
  102. jBarcode.setPainter(WidthCodedPainter.getInstance());
  103. jBarcode.setTextPainter(BaseLineTextPainter.getInstance());
  104. jBarcode.setCheckDigit(false);
  105. jBarcode.setShowCheckDigit(false);
  106. }else{
  107. // 这里设置 根据不同的条件设定生成的条形码基本属性,如EAN13。
  108. // 通过if...else...来判断即可
  109. // 默认生成的是Code39
  110. // 默认生成code39类型条形码
  111. }
  112. }
  113. // 生成条形码,并通过输出来展示在页面上
  114. try {
  115. ByteArrayOutputStream out = new ByteArrayOutputStream();
  116. BufferedImage localBufferedImage = jBarcode.createBarcode(msg);
  117. ImageIO.write(localBufferedImage, "png", out);
  118. byte[] b = out.toByteArray();
  119. resp.getOutputStream().write(b);
  120. } catch (InvalidAtributeException e) {
  121. e.printStackTrace();
  122. }
  123. }
  124. public void doPost(HttpServletRequest req, HttpServletResponse resp)
  125. throws ServletException, IOException {
  126. try {
  127. doGet(req, resp);
  128. } catch (Exception e) {
  129. e.printStackTrace();
  130. }
  131. }
  132. }

2、前台jsp显示代码:传递的参数可以自己设置,参考java后台代码jBarcode对象。

[html] view plaincopy
  1. <img style="vertical-align:middle;" src="<%=request.getContextPath()%>/BarCodeServlet?msg=${placeOrderNo}&barH=12.2&barXD=0.4&codeType=code128"/>

3、在web.xml配置java类:

[java] view plaincopy
  1. <servlet>
  2. <servlet-name>BarCodeServlet</servlet-name>
  3. <servlet-class>com.xxx.BarCodeServlet</servlet-class>
  4. </servlet>
  5. <servlet-mapping>
  6. <servlet-name>BarCodeServlet</servlet-name>
  7. <url-pattern>/BarCodeServlet</url-pattern>
  8. </servlet-mapping>

注:对于jBarcode的参数设置可以看引用的包里面的org.jbarcode.demo的代码。支持多种格式的条形码生成。

生成条形码显示到界面相关推荐

  1. 碎步二:zxing核心包生成条形码和二维码

    最近闲得无趣,于是写点技术知识放到博客上,希望以后对自己有所帮助.随着时代的发展,二维码已经悄悄的被时代所认可,不管是个人或者公司,二维码受到很多人的认可,如今在互联网上二维码几乎随处可见.废话不多说 ...

  2. springboot生成条形码并直接输出显示

    springboot生成条形码,并直接输出 条形码工具类: package com.cz.util;import com.google.zxing.BarcodeFormat; import com. ...

  3. php tp5生成条形码,thinkphp5 + barcode 生成条形码

    2.解压放到"E:phpstudyPHPTutorialWWWguahaovendor下",其中class文件是所有的类文件,生成条形码就是调用文件夹里的类,font文件是字体,i ...

  4. pHp封装成vue,vue.js生成条形码的方法

    本文主要和大家分享vue.js生成条形码的方法,主要以代码的形式和大家分享,希望能帮助到大家. 1.下载插件npm install @xkeshi/vue-barcode //下载条形码插件 2.在m ...

  5. 如何用TXT文档数据批量生成条形码

    我们在制作商品标签的时候,经常需要根据已有的条码数据来批量生成条形码.这些条码数据一般存储在TXT文档.excel表或者是其他类型数据库中,具体怎么操作呢?我们就以TXT文档做实例,和大家分享一下如何 ...

  6. 小程序 生成条形码barcode.js

    1.下载barcode.js,新建一个文件wxbarcode.js用于计算条形码的宽高,以自适应不同手机屏显示 var barcode = require('./barcode'); function ...

  7. datatable如何生成级联数据_如何把Excel表数据批量生成条形码

    条形码属于一维条码,是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符,条形码的种类比较多,比如常用的Code128码,Code39码,Code93码,EAN-13码, ...

  8. qt中QHBoxLayout或QVBoxLayout布局内控件的动态生成与显示

    ---恢复内容开始--- qt中QHBoxLayout或QVBoxLayout布局内控件的动态生成与显示 打个比方,我现在写个小例子,这个小例子是这样的,整个界面分为俩个部分,分为上半部分和下半部分, ...

  9. excel服务器条形码不显示,excel怎么制作条形码教程 excel条形码显示不出怎么办...

    现在很多excel用户都会在excel表格中制作条形码,很多刚开始学习excel软件的用户不太了解,那么下面小编就为大家带来excel 制作条形码的详细教程,不懂制作的朋友可以抽点时间学习下. exc ...

最新文章

  1. sgn matlab,matlab中.*的问题
  2. homepod怎么设置为中文_设置 HomePod
  3. php fgetcsv函数,PHP中的fgetcsv()函数
  4. Leetcode刷题 34.在排序数组中查找元素的第一个和最后一个位置
  5. Type class-Typeclass-泛型基础上的二次抽象
  6. 智能会议系统---(4)VOIP 实现
  7. python:DataFrame连续取前23列数据,或者连续取前2行数据,或者取某行某列数据
  8. php扩展intl安装不成功,phpstudy开启php_intl扩展启动弹出错误的解决方法
  9. I/O资源如何映射到内核虚拟空间
  10. Rufus 制作U盘启动器
  11. python画平行四边形_Python中最小的封闭平行四边形
  12. linux Nginx服务的安装及使用
  13. SecureCRT中文乱码、复制粘贴乱码解决办法
  14. B. Chris and Magic Square
  15. [Python] 小明又迟到了……一个故事讲清楚 Python 循环嵌套
  16. ARP代理(善意的欺骗)
  17. 什么是RAID? 硬RAID 和软RAID的区别是什么?
  18. 如何修复因卸载ccleaner导致的回收站损坏
  19. NMEA-0183 协议 ——GPS芯片输出标准格式
  20. 一笔画(AC)DFS算法

热门文章

  1. SATA 3.0、M.2和PCIe接口,NVMe协议
  2. 89c51c语言程序,89C51单片机计算器C语言程序.doc
  3. 关于新版微信内核x5问题
  4. IDEA新版UI 设置
  5. ppsspp 手柄按键映射 北通 BTP
  6. DM(达梦)数据库简介
  7. JTAG和SWD接口
  8. (系统的推送)友盟推送
  9. C语言:实验5-11 使用函数求最大公约数 .2021-07-23
  10. 为什么 ofo 彻底凉了?