欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JAVA生成扫描条形码

程序员文章站 2022-03-20 09:39:20
条形码是一种可视化、机器可读的数据,这些数据通常描述了携带该条码的物品的相关信息。条形码已经广泛被应用在商品流通,图书管理,邮政管理和银行系统等领域。在这篇文章中,将介绍如何生成和扫描一些常见的一维和二维条形码。 所需工具: Free Spire.Barcode for Java 1.3(免费版) ......

  条形码是一种可视化、机器可读的数据,这些数据通常描述了携带该条码的物品的相关信息。条形码已经广泛被应用在商品流通,图书管理,邮政管理和银行系统等领域。在这篇文章中,将介绍如何生成和扫描一些常见的一维和二维条形码。

所需工具:

  • free spire.barcode for java 1.3(免费版)
  • intellij idea 

jar包文件导入:

  • 方式(一):首先,官网获取jar包

step 1: 下载jar包之后解压,进入“project structure” 界面。(以下是三种在idea中快速打开project structure界面的方式,可任意选择一种方式)

JAVA生成扫描条形码

step 2:按以下操作步骤进行导入。

① 选择“modules”—“dependencies”,添加外置jar包;② 进入"attach file or directories"界面选择jar文件路径,然后点击“ok”;③ 勾选jar路径选项,点击”ok”/”apply”;④ 导入完成。如下图:

 JAVA生成扫描条形码

  • 方式(二):使用maven配置导包。可参考导入方法()。

 

下面是免费版本支持的条形码类型列表:

JAVA生成扫描条形码

p.s. 更多条形码类型,请参考使用spire.barcode for java 商业版。 

barcode生成:

生成条形码涉及到两个重要的类,一个是barcodesettings,另一个是barcodecenerator。barcodesettings是用来定制条形码的特定类型,数据,大小,颜色等。barcodecenerator以barcodesettings为基础,用来创建图像数据。上表所支持的部分条形码的生成如下所示:

codebar:

public class codabar {

    public static void main(string[] args) throws exception {
        //创建barcodesettings实例
        barcodesettings settings = new barcodesettings();
        //设置条形码数据
        settings.setdata("2030405060");
        //设置符号属性
        settings.settype(barcodetype.codabar);
        //设置底部显示文本
        settings.setshowtextonbottom(true);
        //设置边框可见
        settings.hasborder(true);
        //设置codabarstartchar和codabarstopchar
        settings.setcodabarstartchar(codabarchar.b);
        settings.setcodabarstopchar(codabarchar.d);
        //创建条形码生成器对象
        barcodegenerator barcodegenerator = new barcodegenerator(settings);
        //从条形码生成器中获取图像
        bufferedimage bufferedimage = barcodegenerator.generateimage();
        //保存图像
        imageio.write(bufferedimage,"png",new file("codabar.png"));
    }
}

运行效果:

 JAVA生成扫描条形码

code11:

public class code_11 {

    public static void main(string[] args) throws ioexception {
        //创建barcodesettings实例
        barcodesettings settings = new barcodesettings();
        //设置条形码数据
        settings.setdata("12345-67890");
        //设置符号属性
        settings.settype(barcodetype.code_11);
        //设置底部文本
        settings.setshowtextonbottom(true);
        //设置边框可见
        settings.hasborder(true);
        //创建条码生成器对象
        barcodegenerator barcodegenerator = new barcodegenerator(settings);
        //从条码生成期中获取图像
        bufferedimage bufferedimage = barcodegenerator.generateimage();
        //保存图像
        imageio.write(bufferedimage,"png",new file("code_11.png"));
    }
} 

运行效果:

 JAVA生成扫描条形码

code 39:

public static void main(string[] args) throws ioexception {
    //创建barcodesettings
    barcodesettings settings = new barcodesettings();
    //设置条形码数据
    settings.setdata("abc 123456789");
    //设置符号属性
    settings.settype(barcodetype.code_39);
    //在底部设置显示文本位置
    settings.setshowtextonbottom(true);
    //设置边框可见
    settings.hasborder(true);
    //创建条形码生成器实例
    barcodegenerator barcodegenerator = new barcodegenerator(settings);
    //从条形码生成器中获取图像
    bufferedimage bufferedimage = barcodegenerator.generateimage();
    //保存图像
    imageio.write(bufferedimage,"png",new file("code_39.png"));
}

运行效果:

JAVA生成扫描条形码

code 128:

public class code_128 {

    public static void main(string[] args) throws ioexception {
        //创建barcodesettings
        barcodesettings settings = new barcodesettings();
        //设置条形码数据
        settings.setdata("abcd 12345 abcd");
        //设置符号属性
        settings.settype(barcodetype.code_128);
        //在底部设置显示文本位置 
       settings.setshowtextonbottom(true);
        //设置边界可见
        settings.hasborder(true);
        //创建条形码生成器实例
        barcodegenerator barcodegenerator = new barcodegenerator(settings);
        //从条形码生成器获取图像
        bufferedimage bufferedimage = barcodegenerator.generateimage();
        //保存图像
        imageio.write(bufferedimage,"png",new file("code_128.png"));
    } 

运行效果

JAVA生成扫描条形码

qr_code:

public class qr_code {
    public static void main(string[] args) throws ioexception {
        //创建barcodesettings
        barcodesettings settings = new barcodesettings();
        //设置条形码数据
        settings.setdata("abc 123456789");
        //设置符号属性
        settings.settype(barcodetype.qr_code);
        //在底部设置showtext位置
        settings.setshowtextonbottom(true);
        //设置边框是可见的
        settings.hasborder(true);
        //创建barcodegenerator实例
      barcodegenerator barcodegenerator = new barcodegenerator(settings);
        //从条形码生成器获取图像
        bufferedimage bufferedimage = barcodegenerator.generateimage();
        //保存图像
        imageio.write(bufferedimage,"png",new file("qr_code.png"));
    }
} 

运行效果:

JAVA生成扫描条形码

barcode扫描:

下面我们将尝试将将几个条形码的合集放在一起扫描,使用barcodescanner 类的scan()方法读取多个条形码数据。图像和代码如下所示:JAVA生成扫描条形码

public class scan {
    public static void main(string[] args) throws exception {
       //从要扫描的图像中获取信息
       string[] s= barcodescanner.scan("c:\\users\\administrator\\desktop\\barcode.png");
        for (int i=0;i< s.length ;i++){
            system.out.println(s[i]);
        }
    }
}

运行效果:

JAVA生成扫描条形码