我在Brother打印机QL-710W上保持ERROR_WRONG_LABEL

时间:2016-06-08 11:15:11

标签: java android printing network-printers

我一直试图让我的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

我该怎么办?

1 个答案:

答案 0 :(得分:1)

在阅读随附的手册后,我发现ERROR_WRONG_LABEL代码是由于错误的labelNameIndex或错误的paperSize而发生的。

我将labelNameIndex值设置为15,瞧它有效。

我觉得有人遇到这个问题应该尝试labelNameIndex的各种值。

感谢。