2013-04-04 2 views
1

Я хочу напечатать код 128 штрих-кода, используя Zebra's EM 220 SDK для Android.
Я попытался напечатать его с помощью метода PrintBarcode(), как это:Zebra EM 220, код печати 128 штрих-код с помощью Android

BxlService bxl = new BxlService(); 
bxl.Connect(macAddress); 
String data = "123589647525"; 
bxl.PrintBarcode(data.getBytes(), data.length(), BxlService.BXL_BCS_Code128, 100, 3, 0, BxlService.BXL_BC_TEXT_NONE); 
bxl.Disconnect(); 

но напечатанный код не может быть отсканированы приложениями Android сканирования, как ZXing.

После поиска в Интернете я понял, что данные должны быть отформатированы (даже если я немного удивлен, Zebra SDK этого не делает ...) и нашел библиотеку barcode4j, которая помогает кодировать данные. Однако даже в библиотеке печатный штрих-код не может быть отсканирован.

BxlService bxl = new BxlService(); 
bxl.Connect(macAdress); 
DefaultCode128Encoder dce = new DefaultCode128Encoder(); 

String data = "123456679857"; 
int[] i = dce.encode(data); 

    String barcode = ""; 
for (int j : i) { 
    barcode += j; 
} 
bxl.PrintBarcode(barcode.getBytes(), barcode.length(), BxlService.BXL_BCS_Code128, 100, 3, 0, BxlService.BXL_BC_TEXT_NONE); 
bxl.Disconnect(); 

Итак, мой вопрос прост: как печатать код 128 штрих-кодов с использованием зебры EM 220 SDK для Android?

ответ

3

И наконец, я нашел обходное решение.
Я использую ZXing для кодирования моих данных, создания растрового изображения со штрих-кодом, сохранения растрового изображения в качестве файла перед его печатью с помощью метода printImage().

Это работает, но если кто-то знает, как использовать метод printBarcode(), я был бы признателен, если он расскажет мне, как это сделать.

Смежные вопросы