zoukankan      html  css  js  c++  java
  • atitit.条形码的原理与生成总结java Barcode4j barcode o5

    atitit.条形码的原理与生成总结java Barcode4j barcode o5

    条形码类库使用报告Barcode4j, ZXing 1

    使用成果图片 1

    条形码标准code 128code 39 1

    39条码与128条码的区别 2

    attilax标准条形码dpi 跟大小标准.. 2

    Barcode4j的使用流程 2

    Barcode4j的定向attilax标准条形码的设置 3

    主要的代码如下 3

    条形码类库使用报告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 128code 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.ziparcode4j-2.1.0examplesembedding*.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

  • 相关阅读:
    VA对于开发QT是神器,VA自动补全QT
    64位下好神奇啊(增加了PatchGuard技术保护自己,SSDT是相对地址,参数通过寄存器与rdi来传递)
    贵在坚持
    VC程序查错之内存访问异常
    QT源码解析(一) QT创建窗口程序、消息循环和WinMain函数
    QTimer源码分析(以Windows下实现为例)
    Go语言的优点(oschina讨论)
    致诸位新程序员:来自Chuck Jazdzewski慈父般的忠告
    poj1483 It's not a Bug, It's a Feature!
    App应用与思考
  • 原文地址:https://www.cnblogs.com/attilax/p/5963984.html
Copyright © 2011-2022 走看看