我一直试图让我的Android代码打印到新的Brother打印机,但
我一直在收到ERROR_WRONG_LABEL。
我也得到了这些信息:
D/Brother Print SDK: no such enum object for the id: -1
这是我的代码:
public void printLabel() {
Printer myPrinter = new Printer();
PrinterInfo myPrinterInfo = new PrinterInfo();
try {
myPrinterInfo.printerModel = PrinterInfo.Model.QL_710W;
myPrinterInfo.ipAddress = "12.1.3.45";//not real ip
myPrinterInfo.macAddress = "";
myPrinterInfo.port = PrinterInfo.Port.NET;
myPrinterInfo.paperSize = PrinterInfo.PaperSize.A7;
myPrinterInfo.printMode=PrinterInfo.PrintMode.FIT_TO_PAGE;
myPrinterInfo.numberOfCopies = 1;
LabelInfo mLabelInfo = new LabelInfo();
mLabelInfo.labelNameIndex = 5;
mLabelInfo.isAutoCut = true;
mLabelInfo.isEndCut = true;
mLabelInfo.isHalfCut = false;
mLabelInfo.isSpecialTape = false;
myPrinter.setPrinterInfo(myPrinterInfo);
myPrinter.setLabelInfo(mLabelInfo);
//File downloadFolder = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
Log.i("HEYYYY", "startCommunication = " + myPrinter.startCommunication());
Bitmap map = BitmapFactory.decodeResource(getResources(), R.drawable.ic_action_overflow);
PrinterStatus printerStatus = myPrinter.printImage(map);
Log.i("HEYYYY", "errorCode-11 = " + printerStatus.errorCode);
Log.i("HEYYYY", "labelWidth = " + myPrinter.getLabelParam().labelWidth);
Log.i("HEYYYY", "paperWidth = " + myPrinter.getLabelParam().paperWidth);
Log.i("HEYYYY", "labelNameIndex " + mLabelInfo.labelNameIndex);
Log.i("HEYYYY", "printers " + myPrinter.getNetPrinters("QL-710W"));
Log.i("Label-id", myPrinter.getPrinterStatus().labelId + "");
myPrinter.endCommunication();
} catch(Exception e){
e.printStackTrace();
}
}
每当我从打印机页面输入我的mac地址时,错误代码就会变为
ERROR_NOT_MATCH_ADDRESS.
但没有它(将其设置为空字符串或将其注释掉),它将变为
ERROR_WRONG_LABEL
。
请问这个代码有什么问题?
更新
我插入了正确的mac id,现在错误代码是
ERROR_WRONG_LABEL
我该怎么办?
答案 0 :(得分:1)
在阅读随附的手册后,我发现ERROR_WRONG_LABEL代码是由于错误的labelNameIndex
或错误的paperSize
而发生的。
我将labelNameIndex
值设置为15,瞧它有效。
我觉得有人遇到这个问题应该尝试labelNameIndex
的各种值。
感谢。