相关文章:
基于条形码的高校教材管理系统的设计与应用
更多相关推荐 当项目牵涉到产品库存的时候,为了便于管理和操作一般都会考虑使用条形码。在以前做某个项目的时候用到过,稍微整理了下,共享出来给需要的朋友做个参考。
实现功能: 用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
-------------------------------------------------------------
分享知识 分享快乐,分享知识,分享快乐,希望文章能给需要的朋友带来小小的帮助。
分享到:
相关推荐
Java生成条码保存在pdf上例子(亲测),并且附赠 水印添加。
JAVA生成条码什么格式的都有 JAVA生成条码
目前比较通用的用Java实现条形码打印的集成插件主要有:barbecue和barcode4j. 但是用barbecue,条形码可以显示出来,可是下面对应数字却不能显示出来,当然可以自己手动加上去,不过那就不是一张图片里面的了,并且...
java生成条形码的Demo 可以直接就运行,里面还有说明
java的条形码生成工具,报表开发中会使用到,本人使用感觉比较好用
java生成条码.rar,java生成条码.rar,java生成条码.rar
java实现条形码二维码生成含文字标签信息
Java三种生成条形码的源码 1、用barcode4j方式生成 2、用jbarcode方式生产成 3、google-zxing方式生成,但该方式较不方便,添加条形码数字叫复杂
maven项目首先要导入pom资源 <groupId>net.sf.barcode4j</groupId> <artifactId>barcode4j-light <version>2.0 </dependency>
二维码、条形码生成工具类(java),根据内容转换成二维码或者条形码并输出图片
忘记这个资源是在哪里下载的了,非常好用,感谢该代码作者的奉献。里面有生成条形码的demo和jar包,可以直接进行测试,也可以集成项目里,修改成自己想要的接口。
使用Graphics2D和Zxing生成物流打印单,生成条形码和二维码
按公司的要求自己测试好久才整出来的,好用,给大家共享一下,有什么问题可以问我
Java生成条形码的方案 -- barcode4j、zxing barcode4j开源Java条形码生成库。支持多种编码格式,比如:code-39,code-128等 http://barcode4j.sourceforge.net/ zxing是由google开源的1D/2D编解码类库。目标是能够对...
老外用java写的生成条形码的包 自己用的时候最好只生成条形码 不要显示条形码对应的内容 因为有一条黑线