书到用时方恨少,事非经过不知难。这篇文章主要讲述尝试使用Android Brother Sdk打印无线时,ERROR_WRONG_LABEL用于标签打印机相关的知识,希望能为你提供帮助。
我试图使用我的android应用程序使用wifi命令兄弟QL-720NW标签打印机打印。由于我在打印机上执行了出厂重置,因此出现此错误
问题:由于我在打印机上执行了恢复出厂设置,因此在打印命令上抛出ERROR_WRONG_LABEL(表示sdk指南中指定的错误卷)错误。码:
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", "PrinterStatuserr"+status.errorCode);
}catch(Exception e){
e.printStackTrace();
}
}
- 我正在使用来自here的示例代码
- 目标 - 我的最终目标是替换模板和打印中的文本,但目前我无法打印任何内容
- 我正在使用this Brother SDK。
- 我试过Android的兄弟示例代码,它也给出了同样的错误
- 兄弟我打印应用程序和P Touch软件成功打印没有任何错误。
谢谢
答案我通过创建一个
LabelInfo
对象来解决这个问题,因为你有一个标签打印机。文档中根本不清楚。您需要在打印机信息后设置标签信息。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);
ERROR_WRONG_LABEL
意味着你在paperSize
或labelNameIndex
中有错误的值。我有一台带有24英寸纸张的P750W标签打印机。我发现价值5
是这个尺寸的好,但我不知道你的打印机。另一答案我遇到了同样的问题并且发现你应该为
labelNameIndex
对象指定PrinterInfo
字段。我有QL-810W
打印机。我尝试了很多值,直到我将它设置为:printerInfo.labelNameIndex = LabelInfo.QL700.W62RB.ordinal // ->
17
【尝试使用Android Brother Sdk打印无线时,ERROR_WRONG_LABEL用于标签打印机】我通过使用0到100之间的所有整数进行for循环来计算出正确的值,并记录结果直到打印成功使用此值。我知道这不是最佳解决方案,但我找不到这些代码的任何文档或参考。
这是我用来指定PrinterInfo对象的代码:
val printerInfo = PrinterInfo()
printerInfo.printerModel = PrinterInfo.Model.QL_810W
printerInfo.port = PrinterInfo.Port.NET
printerInfo.orientation = PrinterInfo.Orientation.PORTRAIT
printerInfo.paperSize = PrinterInfo.PaperSize.CUSTOM
printerInfo.align = PrinterInfo.Align.CENTER
printerInfo.valign = PrinterInfo.VAlign.MIDDLE
printerInfo.printMode = PrinterInfo.PrintMode.ORIGINAL
printerInfo.numberOfCopies = 1
printerInfo.labelNameIndex = LabelInfo.QL700.W62RB.ordinal // ->
17
printerInfo.isAutoCut = true
printerInfo.isCutAtEnd = false
return printerInfo
推荐阅读
- 在为arm64 Android手机构建应用程序包时,在ApplicationInfo.nativeLibraryDir中找不到本机库
- Android 9上的BiometricManager
- 在appkit中禁用右键单击
- 如何在Android中停止可运行线程()
- java.lang.NoClassDefFoundError(部署到Google App Engine时无法初始化类net.sf.cglib.proxy.Enhancer。)
- Jquery在混合android中不起作用,但在网络中起作用
- 如何在Android中设置EditText的最大字符数()
- Android(如何从一组图像制作视频)
- MediaStore.EXTRA_VIDEO_QUALITY不适用于Android视频捕获