1

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 などの Android スキャン アプリケーションではスキャンできません。

Web で検索した後、データをフォーマットする必要があることを理解し (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 バーコードを印刷する方法は?

4

1 に答える 1

3

最後に、回避策を見つけました。
ZXing を使用してデータをエンコードし、バーコードでビットマップを作成し、ビットマップをファイルとして保存してから、printImage() メソッドで印刷します。

それは機能しますが、誰かが printBarcode() メソッドの使用方法を知っている場合は、その方法を教えていただければ幸いです。

于 2013-04-08T14:54:33.503 に答える