Zxing lib поддерживает сканирование штрих-кода в Android

С помощью Zxing lib я могу эффективно сканировать QR-код, но я не могу сканировать сканирование штрих-кода. Я много раз тестировал RnD и разные фрагменты кода, но не работал.

Итак, мой вопрос -

  1. поддерживает ли Zxing libs сканирование штрих-кода в Android?

  2. Если поддерживается, должен ли я использовать другую библиотеку zxing или ту же библиотеку (QR_Code), которая будет работать?

Любой указатель / предложение, пожалуйста.

Zxing lib Поддерживаемый код -

Список форматов штрих-кодов, поддерживаемых ZXING

1.  QR_CODE
2.  DATA_MATRIX
3.  UPC_E
4.  UPC_A
5.  EAN_8
6.  EAN_13
7.  UPC_EAN_EXTENSION
8.  CODE_128
9.  CODE_39

10. CODE_93 11. CODABAR 12. ITF 13. RSS14 14. PDF417 15. RSS_EXPANDED

Снимок используемого кода -

Опция 1 -

Intent objIntent = new Intent("com.google.zxing.client.android.SCAN"); 
            objIntent.putExtra("SCAN_MODE", "QR_CODE_MODE"); 
            objIntent.putExtra("SCAN_FORMATS", "CODABAR"); 
            startActivityForResult(objIntent, 0);

Вариант 2 -

  Intent objIntent = new Intent("com.google.zxing.client.android.SCAN"); 
            objIntent.putExtra("SCAN_MODE", "PRODUCT_MODE""); 
            objIntent.putExtra("SCAN_FORMATS", "UPC_A"); 
            startActivityForResult(objIntent, 0);

Вариант 3 -

  Intent objIntent = new Intent("com.google.zxing.client.android.SCAN"); 
            objIntent.putExtra("SCAN_MODE", "PRODUCT_MODE""); 
            objIntent.putExtra("SCAN_FORMATS", "UPC_A"); 
            startActivityForResult(objIntent, 0);

Вариант 4 -

      Intent objIntent = new Intent("com.google.zxing.client.android.SCAN"); 
            objIntent.putExtra("SCAN_MODE", "QR_CODE_MODE"); 
            startActivityForResult(objIntent, 0);

Мне интересно сканировать только штрих-код, а не QR-код -

Образец изображения штрих-кода


person Rakesh    schedule 03.02.2014    source источник
comment
Список поддерживаемых ZXING форматов штрих-кодов 1. QR_CODE 2. DATA_MATRIX 3. UPC_E 4. UPC_A 5. EAN_8 6. EAN_13 7. UPC_EAN_EXTENSION 8. CODE_128 9. CODE_39 10. CODE_93 11. CODABAR 12. ITF 13. RSS14 14. PDF417 15 . RSS_EXPANDED   -  person Rakesh    schedule 03.02.2014
comment
ты решил свою проблему?   -  person Erum    schedule 05.02.2015


Ответы (3)


Да, ZXing lib поддерживает обычные штрих-коды.

person David C Adams    schedule 03.02.2014

Почему бы вам не воспользоваться библиотекой Zbar, которую, кажется, проще реализовать. Да, но если вам нужен индивидуальный сканер камеры Zxing, вам придется настроить поверхность камеры сканера, иначе он удовлетворит ваши требования.

Вот ссылка на библиотеку с образцом.

Если вы посмотрите на образец, вы увидите, что есть две функции, одна предназначена для сканирования как qr, так и штрих-кода. а другое предназначено только для кода qr.

// This will scan both
 public void launchScanner(View v) {
        if (isCameraAvailable()) {
            Intent intent = new Intent(this, ZBarScannerActivity.class);
            startActivityForResult(intent, ZBAR_SCANNER_REQUEST);
        } else {
            Toast.makeText(this, "Rear Facing Camera Unavailable", Toast.LENGTH_SHORT).show();
        }
    }


//this will scan only qr code
    public void launchQRScanner(View v) {
        if (isCameraAvailable()) {
            Intent intent = new Intent(this, ZBarScannerActivity.class);
            intent.putExtra(ZBarConstants.SCAN_MODES, new int[]{Symbol.QRCODE});
            startActivityForResult(intent, ZBAR_SCANNER_REQUEST);
        } else {
            Toast.makeText(this, "Rear Facing Camera Unavailable", Toast.LENGTH_SHORT).show();
        }
    }

Используйте в соответствии с вашими потребностями.

Zbar поддерживает следующие штрих-коды:

ЧАСТИЧНЫЙ, EAN8, UPCEISBN10, UPCA, EAN13, ISBN13, I25, DATABAR, DATABAR_EXP, CODABAR, CODE39 PDF417, QRCODE, CODE93, CODE128.

person TheLittleNaruto    schedule 03.02.2014

ZXing поддерживает множество форматов штрих-кодов: UPC_A, UPC_E, EAN_8, EAN_13, CODE_39, CODE_93, CODE_128 и другие.

Самый простой способ использовать ZXing - это интеграция с Android, которую они предоставляют, а также способ, которым они хотят, чтобы люди использовали его. У меня есть пример проекта на github, в котором показано, как использовать ZXing таким образом. По сути, вам нужно сделать что-то вроде этого:

private void scanBarcode() {
    IntentIntegrator integrator = new IntentIntegrator(getActivity());
    Collection<String> BARCODE_TYPES =
            Collections.unmodifiableCollection(Arrays.asList("UPC_A", "EAN_8", "EAN_13"));
    integrator.initiateScan(BARCODE_TYPES);
}

Если вы хотите использовать его напрямую, лучше всего получить их код из github. Насколько я помню, вы хотите запустить именно CaptureActivity.

Также стоит проверить ZBar.

person samael    schedule 03.02.2014