gpt4 book ai didi

Android 通过 WIFI 使用 Brother SDK 打印 (ERROR_WRONG_LABEL)

转载 作者:太空宇宙 更新时间:2023-11-03 13:18:45 26 4
gpt4 key购买 nike

我正在创建一个将打印到 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。

这是我的 list :

<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值。

关于Android 通过 WIFI 使用 Brother SDK 打印 (ERROR_WRONG_LABEL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31872204/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com