java生成条形码

from:http://www.cn-java.com/www1/bbs/frame.php?frameon=yes&referer=http%3A//www.cn-java.com/www1/bbs/forumdisplay.php%3Ffid%3D22

 

完全转载(备份)

 

一个系统要用到条形码,上午在网上找了一个maskbarcode,作者要价500RMB,jar包反编译也没得到源文件,哎,还是继续在网上找吧,Google了n次,终于又找个了一款步错的条形码生成器的源码 ,作者真是太好了,牛人,无敌,加崇拜。又搞了一下午终于生了,记录一下
,以备后用。条形码可以标出物品的生产国、制造厂家、商品名称、生产日期、图书分类号、邮件起止地点、类别、日期等信息,因而在商品流通、图书管理、邮政管理、银行系统等许多领域都得到了广泛的应用。
  1、下载 barcode.jar
  2、把barcode的4个java 类引入自己的项目中;
  3、在web .xml中配置一个生成条形码的servlet,如下:

···  
<servlet>   
<servlet-name> CreateBarCode</servlet-name>   
<servlet-class> com.soft4j.barcode.BarCodeServlet</servlet-class>   
</servlet>   
···
<servlet-mapping>   
<servlet-name> CreateBarCode</servlet-name>   

<url-pattern> /CreateBarCode</url-pattern>   
</servlet-mapping>
···
这样就可以使用CreateBarCode这个servlet来生成条形码了。
    备注:
    (1)com.soft4j.barcode.BarCodeServlet,这里填写自己项目中的实际包路径
    (2)关于CreateBarCode这个名字可以自行设定。

  4.BarcodeExample.jsp
< %@ page contentType ="text/html;charset=UTF-8" %>< %       String code = "135792468" ;//条形码内容   %>    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">    <html><head><title></title>    <meta http-equiv ="Content-Type" content ="text/html; charset=UTF-8" >    <script language ="javascript" >    <!--   NS4 = (document.layers) ? 1 : 0;   visble_property_prefix = (NS4) ? "document.layers." : "";   visble_property_suffix = (NS4) ? ".visibility" : ".style.display";   visble_property_true = (NS4) ? "show" : "block";   visble_property_false = (NS4) ? "hide" : "none";   visble_property_printview = visble_property_prefix + "viewpanel" + visble_property_suffix;   function nowprint() {       window.print();   }   function window.onbeforeprint() {       eval(visble_property_printview + " = /"" + visble_property_false + "/"");   }   function window.onafterprint() {       eval(visble_property_printview + " = /"" + visble_property_true + "/"");   }   //-->    </script>    </head>    <body topmargin ="0px" leftmargin ="0px" rightmargin ="0px" bottommargin ="0px" >    < %           StringBuffer barCode = new StringBuffer();       barCode.append("<img src ='");       barCode.append(request.getContextPath());       barCode.append("/CreateBarCode?code =");       barCode.append(code);       barCode.append("&barType =CODE39 &checkCharacter =n &checkCharacterInText =n'> ");       out.println(barCode.toString());   %>    <div id ="viewpanel" align ="center" >    <input name ="bequery" type ="button" value ="打  印" style ="cursor:hand;" onclick ="nowprint();" >    </div>    <!--script>nowprint();</script-->   </body>    </html>           关于条形码使用时可以设置的一些参数:
  ------------------------------------
  barType(默认为CODE128):   条码类型.支持18钟类型,分别是 CODE39,CODE39EXT,INTERLEAVED25,CODE11,CODABAR,MSI,UPCA,IND25,MAT25,CODE93,EAN13,EAN8,UPCE,CODE128,CODE93EXT,POSTNET,PLANET,UCC128 .
  code:   要打印的条码内容.   
  width(默认为自适应,一般不用自行设置):   图片宽度.width,height要同时都设置才有效.     
  height(默认为自适应,一般不用自行设置):   图片高度.width,height要同时都设置才有效.     
  st(默认为y显示):   是否显示条码内容(show   text).默认会在条码图片下方显示条码内容,有效值为y和n.     
  textFont(默认为Arial|PLAIN|11):   条码文本的字体,字体有效格式为<font   name>|<style>|<size>.Style可以是PLAIN,ITALIC或BOLD.     
  fontColor(默认为黑色):   条码文本的颜色,有效值为RED,BLUE,GREEN,BLACK,GRAY,LIGHTGRAY,WHITE,DARKGRAY,YELLOW,ORANGE,CYAN和MAGENTA.     
  barColor(默认为黑色):   条码的颜色.     
  backColor(默认为白色):   图片背景颜色.     
  rotate(默认为0):   设置条码旋转角度.有效值为0(不旋转),90(旋转90度),180(旋转180度),270(旋转270度).   
  barHeightCM(默认为1厘米):   条码的高度.     
  x(默认为0.03厘米,一般不用自行调整):   条码符号中窄单元的标称尺寸,最小可设置为0.001即1象素,通常以0.03递增.   
  n(默认为2倍):   宽窄比,平均宽条的条宽与平均宽空的空宽之和(条码字符间隔不计在内)除以两倍窄单元尺寸.它是宽度调节编码法中的技术参数.   
  leftMarginCM(默认为0.3厘米):   条码与图片左右边的距离.     
  topMarginCM(默认为0.2厘米):   条码与图片上下边的距离.     
  checkCharacter(默认为y,一般不用自行设置):   是否自动计算check   character,有效值为y和n.     
  checkCharacterInText(默认为y,一般不用自行设置):   条码内容是否自动计算check   character,有效值为y和n.     
  Code128Set(默认为0自动选择,一般不用设置):   设置CODE128中使用的字符集.有效值为0,A,B,C.     
  UPCESytem(默认为0,一般不用自行设置):   UPCE中使用的编码系统.有效值为0和1.     
  ------------------------------------
  其中关键的参数主要是 barType,code 这2个.另外把checkCharacter和checkCharacterInText这2个参数设置成n,如果是y的话,会在你的条形码后面追加一个 校验码,虽然不影响使用(扫描设备扫描条形码得到数据不会出现校验码)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值