Я ПРОДОЛЖАЮ ПОЛУЧАТЬ ERROR_WRONG_LABEL на принтере Brother QL-710W

Я пытался заставить свой код 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, и теперь код ошибки

ERROR_WRONG_LABEL

что я делаю?


person gbenroscience    schedule 08.06.2016    source источник
comment
Вы можете обратиться к этому ответу stackoverflow.com/questions/22808548/   -  person Vindhya Pratap Singh    schedule 08.06.2016
comment
У меня это не сработало.... на что именно мне там ссылаться?   -  person gbenroscience    schedule 08.06.2016


Ответы (1)


Прочитав прилагаемое к нему руководство, я обнаружил, что код ERROR_WRONG_LABEL появляется из-за неправильного labelNameIndex или неправильного paperSize.

Я установил значение labelNameIndex на 15 и, вуаля, все заработало.

Я чувствую, что любой, кто сталкивается с этой проблемой, должен попробовать различные значения для labelNameIndex.

Спасибо.

person gbenroscience    schedule 11.06.2016
comment
myPrinterInfo.labelNameIndex = myPrinter.checkLabelInPrinter(); не работает. Пожалуйста, помогите мне в этом - person Shubham Agrawal; 12.10.2018
comment
Прошло некоторое время с тех пор, как я взломал этот принтер на своем последнем рабочем месте (2016 г.), и у меня больше нет к нему доступа. Я бы посоветовал вам попробовать различные значения атрибута labelNameIndex... (у меня сработало 15). Ваше здоровье. - person gbenroscience; 12.10.2018
comment
Кроме того, какую ошибку он дает вам? это может дать представление о проблеме - person gbenroscience; 12.10.2018
comment
Я хочу получить labelNameIndex принтера во время выполнения и установить его в принтер. myPrinterInfo.labelNameIndex = LabelInfo.QL1100.W103H164.ordinal(); эта штука работает, а не наоборот. - person Shubham Agrawal; 12.10.2018
comment
Ну я этого не пробовал. Я просто экспериментировал и получил значение, которое сработало, т.е. 15 в моем случае. Я бы посоветовал вам сделать то же самое, за исключением того, что ваше приложение полностью требует, чтобы вы получали его во время выполнения. Я бы с удовольствием помог, но, как я уже сказал, у меня больше нет доступа к этому принтеру, и я ушел из компании. - person gbenroscience; 12.10.2018