2

アプレットを Epson TM-T88V pos プリンターで動作するようにセットアップするのに、かなり苦労しました。これで、カッターにコマンドを送信でき、機能します。ただし、他のテキストを印刷することはできません。

次の jpos.JposException が発生します。

jpos.JposException: UnicodeDLL:-10An undefined parameter value was set.  
  at jp.co.epson.upos.T88V.pntr.T88VService.createNormalData(Unknown Source)  
  at jp.co.epson.upos.core.v1_13_0001.pntr.CommonPrinterService.executeNormalPrint(Unknown Source)  
  at jp.co.epson.upos.T88V.pntr.T88VService.printNormal(Unknown Source)  
  at jpos.POSPrinter.printNormal(Unknown Source)  
  at de.develman.pos.printer.Printer.printReceipt(Printer.java:58)  
  at de.develman.pos.ui.action.PrintAction.actionPerformed(PrintAction.java:22)  
  at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)  
  ...

私のコードは次のようになります。

private void initPrinter() throws JposException {
    ptr.open("POSPrinter");
    ptr.claim(1000);
    ptr.setDeviceEnabled(true);
    ptr.setMapMode(POSPrinterConst.PTR_MM_METRIC);
}

private boolean printerUseable() throws JposException {
    // check if the cover is open
if (ptr.getCoverOpen() == true) {
    // cover open so do not attempt printing
    System.out.println("printer.getCoverOpen() == true");
    return false;
}

// check if the printer is out of paper
if (ptr.getRecEmpty() == true) {
    // the printer is out of paper so do not attempt printing
    System.out.println("printer.getRecEmpty() == true");
    return false;
}

    return true;
}

public void printReceipt() {
    try {
        initPrinter();
        if (printerUseable()) {
            ptr.printNormal(POSPrinterConst.PTR_S_RECEIPT, "1\n");
            ptr.printNormal(POSPrinterConst.PTR_S_RECEIPT, PAPERCUT);
        }
    } catch (JposException e) {
        // display any errors that come up
        e.printStackTrace();
    } finally {
        // close the printer object
        try {
            ptr.setDeviceEnabled(false);
            ptr.release();
            ptr.close();
        } catch (Exception e) {
    }
}

例外は次の行を指しています。

ptr.printNormal(POSPrinterConst.PTR_S_RECEIPT, "1\n");

Eclipse からコードを実行すると、すべて正常に動作します。線を取り除くと、カッターは正常に動作します。しかし、テキストを印刷したい場合は、指定された例外がスローされます。
ここで私の問題は何ですか?

4

3 に答える 3

0

私は同じ問題を抱えていました。

これを修正するために、Epson JavaPOS-ADK をアンインストールして再インストールしました。ADK を再インストールしているときに、正しい jpos.xml (アプリケーションでも使用した jpos.xml) を選択したことを確認しました。その後、エラーはなくなりました...

これが同じ問題を抱えている他の人に役立つことを願っています...

于 2014-06-23T16:29:04.240 に答える