【发布时间】:2019-04-08 09:24:10
【问题描述】:
我正在使用蓝牙热敏打印机,并且能够打印普通文本和发票。但我无法打印条形码。
我正在使用 ZXING 库生成条形码
OutputStream os = mBluetoothSocket.getOutputStream();
String text = mEditText.getText().toString();
MultiFormatWriter multiFormatWriter = new MultiFormatWriter();
BitMatrix bitMatrix = multiFormatWriter.encode(text,BarcodeFormat.CODE_128,200,200);
BarcodeEncoder barcodeEncoder = new BarcodeEncoder();
Bitmap bitmap = barcodeEncoder.createBitmap(bitMatrix);
os.write("Hello".getBytes()); //Prints Hello
如何使用相同的逻辑打印位图?
我尝试了一些代码,例如
int size = bitmap.getRowBytes() * bitmap.getHeight();
ByteBuffer byteBuffer = ByteBuffer.allocate(size);
bitmap.copyPixelsToBuffer(byteBuffer);
byte[] byteArray = byteBuffer.array();
os.write(byteArray);
但这给出了一个空白打印和滚动继续滚动
我正在使用 Godex-MX30 打印机
【问题讨论】:
-
询问打印机制造商。
-
供应商没有对 Android 应用程序的开发人员支持,此打印机也可以使用 Play 商店中的第 3 部分应用程序打印条形码:play.google.com/store/apps/…
标签: android bluetooth barcode thermal-printer