带条码128C的Zxing NotFoundException

时间:2015-11-04 11:36:10

标签: java barcode zxing barcode-scanner code128

我尝试使用Zxing解码128C(代码集C)条形码。当我读到QR_CODE,UPC_A等其他类型时,我取得了成功。

这些是我试图阅读的条形码:

enter image description here

enter image description here

可以用Zxing读取128C条形码(不是CODE 128纯)吗?

1 个答案:

答案 0 :(得分:1)

简短的aswer,是的,它应该 。因为128C只是128的子集。可以扫描代码,可能需要几秒钟。让XZing在app中工作。

您已经发现支持128,现在您需要进行翻译。 128C采用与128相同的输入,只是输出数字。因此,您可以根据您获得的数据进行翻译,并将其转换为128C。检查第二个链接,了解其翻译方式。

https://github.com/zxing/zxing/blob/master/README.md

https://en.wikipedia.org/wiki/Code_128

从XZing github获取所需的类,将它们放在项目的java部分的包中。我只使用了2:

  • IntentIntegrator
  • IntentResult

以下是我在代码中的启动方式:

/**
* Method called to intiate the scan (it's linked to a button)
*/
public void doScan(View view) {
    IntentIntegrator scanIntegrator = new IntentIntegrator(this);
    scanIntegrator.initiateScan();
}

// when you click the Scan Bar Code button
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
    IntentResult scanningResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);

    if (scanningResult != null) { // we have a result


           String scanContent = scanningResult.getContents(); // set the content of the scan.
           String scanFormat = scanningResult.getFormatName(); // set the type of scan.

           // You will want to put this data somewhere else, globals, etc.

        } else {
            toast("No scan data received!"); // call to make a toast
        }
    }