Zxing NotFoundException 条码 128C

Zxing NotFoundException with Barcode 128C

我尝试使用Zxing 来解码128C (Code set C) 条码。当我阅读 QR_CODE、UPC_A.

等其他类型时,我获得了成功

这些是我尝试读取的条形码:

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

简而言之,是的,它应该 可能的。由于128C只是128的一个子集。可以扫描代码,可能需要几秒钟。并让 XZing 在应用程序中运行。

你发现支持128了,现在要翻译一下。 128C 采用与 128 相同的输入,只是输出数字。因此,您可以根据返回的数据进行转换,并将其转换为 128C。检查第二个 link 的翻译方式。

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
        }
    }