androidprintingbrother-print-sdk

ERROR_WRONG_LABEL when trying to print wireless using Android Brother Sdk for label printer


I have trying to print using labels from my android app which using wifi commands Brother QL-720NW label printer. Since I performed factory reset on the printer , I'm getting this error

Problem: ERROR_WRONG_LABEL( means wrong roll specified in the sdk guide) error is thrown on print command, since I performed factory reset on the printer .

CODE:

void printTemplateSample() 
    {
        Printer myPrinter = new Printer();
        PrinterInfo myPrinterInfo = new PrinterInfo();

        try{
            // Retrieve printer informations
            myPrinterInfo = myPrinter.getPrinterInfo();

            // Set printer informations
            myPrinterInfo.printerModel = PrinterInfo.Model.QL_720NW;
            myPrinterInfo.port=PrinterInfo.Port.NET;
            myPrinterInfo.printMode=PrinterInfo.PrintMode.FIT_TO_PAGE;
//                  :
            myPrinterInfo.paperSize = PrinterInfo.PaperSize.A4;


            myPrinterInfo.ipAddress="192.168.1.13";
            myPrinterInfo.macAddress="00:80:92:BD:35:7D";


            myPrinter.setPrinterInfo(myPrinterInfo);

            // Start creating P-touch Template command print data
//          myPrinter.startPTTPrint(1, null);
           Boolean val= myPrinter.startPTTPrint(6, null);
            Log.i("print", "startPTTPrint "+val);

            // Replace text
            myPrinter.replaceText("abcde");
//          myPrinter.replaceText("12345");

            // Trasmit P-touch Template command print data
            PrinterStatus status=myPrinter.flushPTTPrint();//ERROR thrown here
            Log.i("print", "PrinterStatus  err"+status.errorCode);

        }catch(Exception e){    
            e.printStackTrace();
        }
    }

Please help!

Thanks


Solution

  • I resolved this by creating a LabelInfo object, since you have a Label Printer. It's not clear at all in the documentation. You need to set the label info after the printer info.

    PrinterInfo info = myPrinter.getPrinterInfo();
    info.paperSize = PrinterInfo.PaperSize.CUSTOM;
    
    LabelInfo mLabelInfo = new LabelInfo();
    mLabelInfo.labelNameIndex = 5;
    mLabelInfo.isAutoCut = true;
    mLabelInfo.isEndCut = true;
    mLabelInfo.isHalfCut = false;
    mLabelInfo.isSpecialTape = false;
    
    myPrinter.setPrinterInfo(info);
    myPrinter.setLabelInfo(mLabelInfo);
    

    The ERROR_WRONG_LABEL means that you have a wrong value in paperSize or labelNameIndex. I have a P750W label printer with a 24'' paper. I found that value 5 is the good one for this size, but I don't know for your printer.