ZXing và Pdf417

Hôm nay mình gập phải 1 vấn đề là dùng zxing không đọc được barcode định dạng pdf417, bài dưới đây mình sẽ nói cụ thể cách đọc pdf417 bằng zxing:

Ban đầu, các bạn hãy tải source code example đã cấu hình sẵn zxing, mình thấy lấy link dưới đây là nhanh nhất:

https://github.com/mgouline/droidxing

Sau khi tải về, các bạn enable pdf417 lên bằng cách vào file net/gouline/droidxing/DecodeThread.java:84

Code cũ thế này (mặc định không đọc pdf417):

if (prefs.getBoolean(CapturePreferences.KEY_DECODE_PDF417, false)) {
    decodeFormats.addAll(DecodeFormatManager.PDF417_FORMATS);
}

Code mơi thế này (mặc địch hỗ trợ đọc pdf417):

if (prefs.getBoolean(CapturePreferences.KEY_DECODE_PDF417, true)) {
    decodeFormats.addAll(DecodeFormatManager.PDF417_FORMATS);
}

Do droxing đang sử dụng version zxing cũ 3.2.0, version này có thể không support pdf417 nên tốt nhất các bạn hãy sử dụng version mới nhất của zxing. mình đã tải zxing 3.3.0 về và đã đọc được pdf417 rất nhanh.

Có 2 cách sử dụng zxing 3.3.0
Hoặc là bạn sửa biên cấu hình ext.libZXingVersion trong file build.gradle thành 3.3.0 sau đó build lại và chạy. Nếu build thành công thì mọi việc đã hoàn tất, bấm vào nút run và chạy thử để đọc barcode định dạnh pdf417.

Hoặc nếu bước trên build bị lỗi (do 3.3.0 vẫn chưa được enable trên gradle server), chúng ta có thể tải file .jar của nó về sử dụng.

Link tải http://mvnrepository.com/artifact/com.google.zxing/core/3.3.0

Link tải http://mvnrepository.com/artifact/com.google.zxing/android-core/3.3.0

Sau khi tải 2 file .jar (core-3.3.0.jar và android-core-3.3.0.jar) về, chúng ta tạo ra 1 thư mục libs trong project droidxing-library và copy chúng vào đó. sau đó thêm dependency cho project từ 2 file trên và xóa chúng trong file gradle để tránh lỗi khi build:

droidxing-library/build.gradle:21

//compile "com.google.zxing:core:$libZXingVersion"
//compile "com.google.zxing:android-core:$libZXingVersion"

thêm dependency thế này trong file droidxing-library/build.gradle

    compile files('libs/core-3.3.0.jar')
    compile files('libs/android-core-3.3.0.jar')

Mọi thứ coi như đã hoàn thành, kích nút build và chạy thử để đọc barcode định dạnh pdf417.

Chúc các bạn thành công.

Tác giả Lê Trung Thu

 

Advertisements

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Đăng xuất / Thay đổi )

Connecting to %s