Zebra EM 220,使用 Android 打印 Code 128 条码

Posted

技术标签:

【中文标题】Zebra EM 220,使用 Android 打印 Code 128 条码【英文标题】:Zebra EM 220, Print Code 128 barcode using Android 【发布时间】:2013-03-26 17:09:11 【问题描述】:

我想使用 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();

但打印的代码无法被安卓扫描应用程序扫描,例如 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 条码?

【问题讨论】:

【参考方案1】:

最后,我找到了解决方法。 我使用 ZXing 对我的数据进行编码,使用条形码创建位图,在使用 printImage() 方法打印之前将位图保存为文件。

它有效,但如果有人知道如何使用 printBarcode() 方法,我会很感激他告诉我怎么做。

【讨论】:

以上是关于Zebra EM 220,使用 Android 打印 Code 128 条码的主要内容,如果未能解决你的问题,请参考以下文章

Zebra 设备-TC75x-Android 8.1-条形码扫描问题

基于 EM 的媒体查询不适用于 Android 浏览器 v4.3

我可以在 React Native 中将 Zebra 扫描仪包与 Expo 项目一起使用吗?

oracle11g EM网页打不开

国信证券Zebra微服务架构简介

使用 ZPL 重新启动 Zebra 打印机