`
itroop
  • 浏览: 303671 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

java生成条形码

阅读更多
相关文章:  
基于条形码的高校教材管理系统的设计与应用

更多相关推荐 当项目牵涉到产品库存的时候,为了便于管理和操作一般都会考虑使用条形码。在以前做某个项目的时候用到过,稍微整理了下,共享出来给需要的朋友做个参考。


实现功能: 用JAVA显示各种规格的条形码(18种),打印后可以被扫描设备扫描.
需要的java类请到最后的附件(barcode.zip)中下载。

1.把barcode的4个java类引入自己的项目中;
2.在web.xml中配置一个生成条形码的servlet,如下:
Html代码
 
...  
<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> 
... 


...
<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这个名字可以自行设定。
   
3.前台引用例子(BarcodeExample.jsp):
Html代码
<%@ 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>   

<%@ 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> 
   

4.关于条形码使用时可以设置的一些参数:
  ------------------------------------
  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的话,会在你的条形码后面追加一个校验码,虽然不影响使用(扫描设备扫描条形码得到数据不会出现校验码),但是看着比较别扭(如下图).



5.还可以在applet中使用,具体使用参数请对照BarCodeApplet.java文件,与WEB使用方式差不多.

6.附件 barcode.zip
-------------------------------------------------------------
分享知识 分享快乐,分享知识,分享快乐,希望文章能给需要的朋友带来小小的帮助。
分享到:
评论
1 楼 dayang2001911 2008-10-20  

相关推荐

    Java 生成条码 保存在pdf上例子(亲测)

    Java生成条码并将其保存在PDF上的技术是一个实用的编程任务,常见于自动化文档处理、库存管理和产品标签等领域。在本示例中,我们将探讨如何使用Java实现这一功能,并涉及如何添加水印以增强PDF的安全性和标识性。 ...

    JAVA生成条码

    - **jFreeChart**:虽然jFreeChart主要是一个图表库,但也可以用于生成条形码,特别是Code 128和Code 39。 2. **使用ZXing生成条码** 首先,你需要在项目中引入ZXing库。然后,你可以创建一个`BitMatrix`对象,将...

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

    以下是关于使用Java生成条形码的三个主要方法的详细解释:barcode4j、jbarcode和google-zxing。 1. **barcode4j**: Barcode4J是一个开源的Java库,基于Apache 2.0许可,专门用于生成各种类型的条形码。它使用XML...

    java生成条形码的Demo

    Java生成条形码的Demo是一种在Java环境中实现条形码生成的应用示例。条形码在各种领域,如零售、物流、库存管理等,都扮演着重要的角色,它能够快速准确地识别商品信息。本Demo旨在帮助开发者了解如何在Java项目中...

    java 条形码生成工具

    本文将详细介绍如何在Java环境中利用特定的库,如barcode4j,来创建和生成条形码。 首先,我们要理解什么是条形码。条形码是一种图形化数据表示方式,通过不同宽度和间隔的条纹组合来编码信息。它使得数据能够快速...

    java实现条形码二维码生成含文字标签信息

    总的来说,Java结合ZXing库能够轻松地生成条形码和二维码,同时支持自定义各种参数以满足不同需求。在实际项目中,根据业务场景,我们还可以进一步扩展这些功能,如增加扫描和解码能力,或者与其他系统集成,实现更...

    Java实现条形码打印

    目前比较通用的用Java实现条形码打印的集成插件主要有:barbecue和barcode4j. 但是用barbecue,条形码可以显示出来,可是下面对应数字却不能显示出来,当然可以自己手动加上去,不过那就不是一张图片里面的了,并且...

    java生成条码.rar,java生成条码.rar

    在IT行业中,生成条码是一项常见的任务,尤其...综上所述,Java生成条码是一个相对简单的过程,关键在于选择合适的库和理解条码编码规范。通过合理的编程,可以轻松地将条码集成到各种Java应用中,提升业务流程的效率。

    用java一维码批量生成(条码)图片

    ZXing是一个开源项目,提供了多种条码和二维码的读写功能,而Barbecue则专注于生成条形码。在这里,我们假设你已经选择了适合的库,并正确地将其引入到你的Java项目中。 一、ZXing(Zebra Crossing)库的使用 1. ...

    Java生成条形码.rar

    "Java生成条形码.rar"这个压缩包文件显然包含了用于在Java中生成条形码的相关工具和示例。主要知识点包括: 1. **条形码原理**:条形码是一种光学可读的数据表示形式,通过不同宽度的黑白条纹来代表数字或字母信息...

    Java生成物流打印单(条形码,二维码)

    5. 如果需要,也可以生成条形码,同样使用Graphics2D绘制条形码的线条和间隔。 6. 添加其他信息,如收件人和寄件人的地址、时间戳等,可以使用Graphics2D的文本绘制功能。 7. 最后,将整个打印单的内容保存为一个...

    Java生成条形码code128(亲测有效)

    Java生成条形码code128 Java生成条形码code128是一种常用的条形码生成方式,通过使用Java语言和Barcode4J库,可以生成高质量的Code 128条形码。在实际应用中,Code 128条形码广泛应用于物流、生产流程控制、资产...

    java 各种条形码生成

    以下是一些使用Java生成条形码的基本步骤: 1. **引入库**:首先,你需要将库添加到你的项目依赖中。如果是Maven项目,可以在pom.xml文件中添加对应的依赖。对于`BarcodeLib`这样的库,可能需要下载JAR文件并将其...

    java生成39条形码base64数据

    maven项目首先要导入pom资源 &lt;groupId&gt;net.sf.barcode4j&lt;/groupId&gt; &lt;artifactId&gt;barcode4j-light &lt;version&gt;2.0 &lt;/dependency&gt;

Global site tag (gtag.js) - Google Analytics