atitit.条形码的原理与生成总结java Barcode4j barcode o5
条形码类库使用报告Barcode4j, ZXing
在线生成条形码
http://barcode.tec-it.com/barcode-generator.aspx
还是barcode4j的效果好。。下面带编码字符。。Zxing的要自己添加了,麻烦的.....
zxing生成二维码比较好...不过barcode4j好像也能生成二维码了...
作者 老哇的爪子 Attilax 艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
使用成果图片
条形码标准code 128和code 39
code 128和code 39都是条形码的一种编码格式(当然还有其他多种编码格式,这两种是最通用的
CODE128码是1981年引入的一种高密度条码,CODE128 码可表示从ASCII 0 到ASCII 127 共128个字符,故称128码。其中包含了数字、字母和符号字符。
而个应该使用128码,,它的优点更多..
不管是哪一种码,条形码扫描仪都能正确识别,不用担心
39条码与128条码的区别
Code 128码与Code 39码有很多的相近性,都广泛运用在企业内部管理、生产流程、物流控制系统方面。不同的在于Code 128比Code 39能表现更多的字符,单位长度里的编码密度更高。当单位长度里不能容下Code 39编码或编码字符超出了Code 39的限制时,就可选择Code 128来编码。所以Code 128比Code 39更具灵性。
为什么广泛使用CODE128码:
由于CODE128码可表示较全面的字符(数字、字母和符号),在同样长度的条码中可容纳的字符长度较长(高密度),条码长度与字符串长度无明显的敏感性,所以CODE128码是企业内部管理系统最为广泛使用的条码码制。
attilax标准条形码dpi 跟大小标准..
150dpi
247px × 157px
Barcode4j的使用流程
下载压缩包barcode4j-2.0-bin.zip
barcode4j-2.1.0-bin.zip\barcode4j-2.1.0\examples\embedding\*.java复制到目录..
SampleBitmapBarcodeWithBean.java就是俄们要使用的class..
But这个class是39码的,不适合俄们的标准...要更改配置...要更改为128码的..
Barcode4j的定向attilax标准条形码的设置
bean.setModuleWidth(UnitConv.in2mm(3f / dpi)); //makes the narrow bar
//这个ModuleWidth参数设置疏港的空间。。太小太密。。默认的太小了。
bean.doQuietZone(true); //两边空白区
bean.setQuietZone(2);
bean.setHeight(15);
主要的代码如下
public static void geneBarcode(String code, String outFile)
{
try{
//Create the barcode bean
// Code39Bean bean = new Code39Bean();
Code128Bean bean=new Code128Bean();
final int dpi = 150;
//Configure the barcode generator
bean.setModuleWidth(UnitConv.in2mm(3f / dpi)); //makes the narrow bar
//width exactly one pixel
// bean.setWideFactor(3);
bean.doQuietZone(true);
//Open output file
File outputFile = new File(outFile);
OutputStream out = new FileOutputStream(outputFile);
try {
//Set up the canvas provider for monochrome JPEG output
BitmapCanvasProvider canvas = new BitmapCanvasProvider(
out, "image/jpeg", dpi, BufferedImage.TYPE_BYTE_BINARY, false, 0);
//Generate the barcode
bean.generateBarcode(canvas, code);
//Signal end of generation
canvas.finish();
} finally {
out.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
参考
Barcode4j使用方法_百度文库.htm