当前位置: 首页 > 知识库问答 >
问题:

Android打印与兄弟SDK通过WIFI(ERROR_WRONG_LABEL)

陆卓
2023-03-14

我正在创建一个Android应用程序,该应用程序将打印到兄弟QL-720NW标签打印机。我为此创建了一个示例项目。

我已经在libs文件夹中导入了必要的JAR文件,并按照兄弟的示例项目中的建议设置了打印机设置。但是我一直收到标签不正确的错误。

我已经看到以下线程ERROR\u WRONG\u LABEL,当尝试使用Android Brother Sdk为标签打印机无线打印时,出现了类似问题。

根据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();
    }

}

共有1个答案

丁安宜
2023-03-14

我也有同样的问题,我用以下方法解决了:

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”是纸张类型。您可以在手册.pdf中找到纸张类型id

注意:我们必须使用序数值,而不是反枚举值。

 类似资料:
  • 我一直在尝试在Android 8.1.0上使用Brother print SDK 3.5.1进行打印。我不断收到错误标签。 这是我使用的代码 我的打印机型号是QL-810W,我使用黑色和红色的W62卷。 我已经尝试了示例应用程序,其中在中设置打印很好。 用不同的宽度换不同的卷没有帮助。 我还尝试迭代数字0到50并将它们用作。 基于这个线程,我认为问题可能在于指定属性。将设置为会导致而不是。未指定并

  • 我有打印机驱动程序、P-touch编辑器、b-PAC 3.1和客户端工具,都是64位的,从Brother网站下载并安装在我的64位Windows 7笔记本电脑上。P-touch编辑器工作/打印良好。 然而,b-PAC失败,所有样本均无效。我调试了代码: 其中,

  • 我正在使用Brother SDK使用P-touch模板打印标签。我有我自己的模板(只有两个文本,没有复杂的)在我的兄弟QL-820NWB标签打印机。 打印正在工作,但我有变音符号的问题。例如“Jan Vomáčka”没有正确打印。(问题是and) 我使用的代码来自他们的SDK手册: 我试着设置不同类型的编码(UTF-8,CP-1250,…),而不是设置空值,但都不能正常工作。 我不确定该换什么?也

  • 我想从web浏览器的Brother标签打印机打印标签。我知道DYMO有一个JavaScript框架,可以使从浏览器打印变得简单。但我有一个兄弟标签打印机的客户,所以我需要使它工作。 我一直在做一些测试和搜索,令人惊讶的是,关于这个主题的信息如此之少。 到目前为止,我唯一成功使用的浏览器是谷歌Chrome,因为它似乎不打印页眉和页脚。我已经安装了打印机/驱动程序,并创建了尺寸为62 x 29mm的自

  • 我正在开发一款android应用程序,它需要通过wifi打印到激光打印机上。是否有任何通用代码或SDK可以通过任何打印机打印,而不考虑打印机品牌?

  • 我正在使用适用于Android的兄弟打印SDK。我的代码基于手册中所示的示例代码: } 当打印机的盖子打开时,flushPTTPrint()函数会立即返回,状态为ERROR\u cover\u open。这太棒了。 当打印机没有纸时,flushPTTPrint()函数仅在大约三分钟后返回,状态为ERROR_COMMUNICATION_ERROR。不太好。 问题:如何检测打印机何时缺纸?任何方法都可