我想使用Zebra的EM 220 SDK for Android打印代码128条码 我尝试使用PrintBarcode()方法打印它,如下所示:
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();
所以,我的问题很简单:如何使用Zebra的EM 220 SDK for Android打印代码128条码?
答案 0 :(得分:3)
最后,我找到了一个解决方法。
我使用ZXing对数据进行编码,使用条形码创建一个Bitmap,在使用printImage()方法打印之前将Bitmap保存为文件。
它有效,但如果有人知道如何使用printBarcode()方法,我会很感激他告诉我该怎么做。