我正在创建一个将在brother QL-720NW标签打印机上打印的Android应用程序.我为此创建了一个示例项目.
我已经在libs文件夹中导入了必要的JAR文件,并按照brother示例项目中的建议设置了打印机设置.但是,我不断收到错误消息,指出标签不正确.
我已经看过以下线程ERROR_WRONG_LABEL when trying to print wireless using Android Brother Sdk for label printer
关于类似的问题.
根据brother手册,在我的情况下,labelnameIndex应该设置为5.
这是我的清单:
<application androID:allowBackup="true" androID:icon="@mipmap/ic_launcher" androID:label="@string/app_name" androID:theme="@style/Apptheme" > <activity androID:name=".MainActivity" androID:label="@string/app_name" > <intent-filter> <action androID:name="androID.intent.action.MAIN" /> <category androID:name="androID.intent.category.LAUNCHER" /> </intent-filter> </activity></application><uses-permission androID:name="androID.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission androID:name="androID.permission.INTERNET"/><uses-permission androID:name="androID.permission.BLUetoOTH"/><uses-permission androID:name="androID.permission.BLUetoOTH_admin"/>
这是我的小型演示项目的印刷部分:
public voID Print(){ Printer myPrinter = new Printer(); PrinterInfo myPrinterInfo = new PrinterInfo(); PrinterStatus myPrinterStatus = new PrinterStatus(); 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.CUSTOM; myPrinterInfo.ipAddress="192.168.0.193"; myPrinterInfo.macAddress="00:00:00:00:00"; //hIDden for security reasons 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); // Create bitmap Bitmap bmap = BitmapFactory.decodeResource(getResources(), R.drawable.printtest); try{ tVIEw.append("Start" + "\n" ); myPrinter.startCommunication(); PrinterStatus printerStatus = myPrinter.printimage(bmap); myPrinter.endCommunication(); tVIEw.append(printerStatus.errorCode.toString() + "\n"); }catch(Exception e){ tVIEw.setText(e.toString()); } }catch(Exception e){ tVIEw.setText(e.toString()); //e.printstacktrace(); }}
解决方法:
我遇到了同样的问题,并解决了:
printerInfo.printerModel = PrinterInfo.Model.QL_720NW;printerInfo.port = PrinterInfo.Port.NET;printerInfo.ipAddress = "...";printerInfo.paperSize = PrinterInfo.PaperSize.CUSTOM;printerInfo.paperposition = PrinterInfo.Align.CENTER;printerInfo.orIEntation = PrinterInfo.OrIEntation.LANDSCAPE;printerInfo.labelnameIndex = Labelinfo.QL700.W50.ordinal();printerInfo.isautoCut = true;printerInfo.isCutAtEnd = true;
但是产生变化的那一行是:
printerInfo.labelnameIndex = Labelinfo.QL700.W50.ordinal();
其中“ W50”是纸张类型.您可以在manual.pdf中找到该纸张类型ID
注意:我们必须使用序数值而不是de Enum值.
总结以上是内存溢出为你收集整理的通过WIFI使用Brother SDK进行Android打印(ERROR_WRONG_LABEL)全部内容,希望文章能够帮你解决通过WIFI使用Brother SDK进行Android打印(ERROR_WRONG_LABEL)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)