java生成条形码
来源:互联网 发布:怎样用网络电视看直播 编辑:程序博客网 时间:2024/06/10 19:04
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的话,会在你的条形码后面追加一个校验码,虽然不影响使用(扫描设备扫描条形码得到数据不会出现校验码)
- 条形码 java生成条形码
- java 生成条形码
- java 生成条形码
- Java生成条形码
- java条形码的生成
- java生成条形码
- java 条形码生成类
- java生成条形码
- JAVA生成条形码
- java生成条形码
- jAVA生成条形码
- java 生成条形码
- java 生成条形码
- java 生成条形码
- java生成条形码
- java代码生成条形码
- java生成条形码
- Java 条形码生成(一维条形码)
- ucos2
- 动态规划算法——乘法表问题
- 用ExpandableListView实现好友分组
- Java theory and practice: Good housekeeping practices
- Upgrading ASM instance from Oracle 10.1 to Oracle 10.2. (Single Instance)
- java生成条形码
- 程序员的基本素质---树上还剩几只鸟
- LINUX系统备份与恢复
- protel
- 一些软件设计的原则
- SQL: 判定sql server的版本号
- JQuery选择器
- 如何计算SL校验码?
- Unable To Open Database After ASM Upgrade From Release 11.1 To Release 11.2