【问题标题】:Can't get zxing to recognize qrcodes无法让zxing识别二维码
【发布时间】:2014-03-29 11:16:37
【问题描述】:

我正在开发用于解码二维码的 Java 应用程序,如下所示:qrcode1 在下面的代码中调用阅读器的解码方法时,我总是得到 com.google.zxing.NotFoundException。

public String decode(File img) throws QRCodeException {
    Result result;
    BinaryBitmap binaryBitmap;
    try (FileInputStream fis = new FileInputStream(img)) {

        Map<DecodeHintType, Object> decodeHints = new HashMap<>();
        decodeHints.put(DecodeHintType.TRY_HARDER, TRUE);
        decodeHints.put(DecodeHintType.ASSUME_GS1, TRUE);

        binaryBitmap = new BinaryBitmap(new HybridBinarizer(new BufferedImageLuminanceSource(ImageIO.read(fis))));

        MultiFormatReader reader = new MultiFormatReader();
        result = reader.decode(binaryBitmap, decodeHints);
        BarcodeFormat barcodeFormat = result.getBarcodeFormat();
        System.out.println("QR Code : " + result.getText());
        return result.getText();
    } catch (Exception ex) {
        ex.printStackTrace();
        throw new QRCodeException();
    }
}

我还尝试使用 Android 应用检查这些代码。他们中的大多数人不认识这些二维码。只有一个应用程序可以提供正确的结果 NeoReader。

你知道如何让 zxing 使用这些二维码吗?

【问题讨论】:

    标签: java zxing qr-code


    【解决方案1】:

    这不是一个有效的 QR 码,至少不是按照现代规范。它是 25x25,应该是版本 2,但右下角缺少对齐模式。

    【讨论】:

    • 我同意,这段代码很可能是过时的版本。我将阅读放置在某些产品上的此类二维码。是否可以强制 zxing 解码与当前标准不完全兼容的代码,或者我应该寻找其他库?正如我所说,NeoReader 可以正确解码此 qr,但我需要使用 java PC 应用程序来完成。
    • 不,这是一种不同的格式,只是看起来相似。过去十年制作的二维码应该是新格式,所以如果你遇到这样的二维码,我会感到惊讶。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多