2017-03-09 18 views
0

熱転写プリンタを使用して納品書を印刷するAndroid Javaアプリを開発しています。Androidアプリからサーマルプリンタ(DPP 450)に印刷

実際に私は、Bluetooth(ESC/POS)を使ってOKを印刷する2つのプリンタモデルを持っていますが、DPP-450(ESC/POSをサポートしています)を使って印刷しようとすると、Bluetooth経由ではOKですが、 。

私は印刷する方法は、次のとおりです。

if (mbtSocket!=null && mbtSocket.isConnected()) { 
    inReader = mbtSocket.getInputStream(); 
    outReader = mbtSocket.getOutputStream(); 
    int s = inReader.available(); 
    outReader.write(setInitp); 
    String sendingmessage = "******************************" + "\n"; 
    byte[] send = sendingmessage.getBytes(); 
    outReader.write(send); 
    sendingmessage = "Esto es una prueba de impresión" + "\n"; 
    send = sendingmessage.getBytes(); 
    outReader.write(send); 
    outReader.flush(); 
    s = inReader.available(); 
    inReader.skip(0); 
} 

コードのこの作品は、私の他の2台のプリンタ(シチズンCMP-40、スタープリンタBTT)のではなく、DPP-450上で動作します。

私は何か助けてもらえますか?

答えて

1

...そこから続けます。

このプリンタは(他の試みは私の問題を解決していない)、それを確定するためにチャネルを使用するようだ、と後で私は私のアプリにコードを適応し、私はそれを解決する方法を掲示:

inReader = mbtSocket.getInputStream(); 
outReader = mbtSocket.getOutputStream(); 
ProtocolAdapter mProtocolAdapter = new ProtocolAdapter(inReader, outReader); 
mPrinterChannel = mProtocolAdapter.getChannel(ProtocolAdapter.CHANNEL_PRINTER); 
Printer printer = new Printer(mPrinterChannel.getInputStream(), mPrinterChannel.getOutputStream()); 
try{ 
    textBuffer.append("{reset}{center}{s}Thank You!{br}"); 
    printer.reset(); 
    printer.printTaggedText(textBuffer.toString()); 
    printer.feedPaper(110); 
    printer.flush(); 
} catch(Exception e){ 
    e.printStackTrace(); 
    Log.e("Error: " + e, "Error"); 
} 

これが他の人に役立つことを願っています! :)

0

他の同様のプリンタで動作するコードは、おそらく問題ではありません。

あなたは体系的にこれをトラブルシューティングする必要があります:

  • は別のコンピュータ上のプリンタの仕事をしていますか?多分それは単に壊れているかもしれません。
  • デスクトップコンピュータの簡単なプログラムを使用して接続できますか?これは、Android固有の問題を排除します。

は、これらの手順を試してみてください、そして、私は問題を発見した

+0

最初にお尋ねいただきありがとうございます。 私はそれを試して、はい、これらの2つのステップは問題なく動作します。 プリンタメーカーが提供するsdkの例は、 textBuffer.append( "{reset} {right} {w} {h} TOTAL:{/w}$3.00 {br}")のような印刷用コードを持っています。 textBuffer.append( "{br}"); textBuffer.append( "{リセット} {センター} {ありがとうございます} {br}"); printer.reset(); printer.printTaggedText(textBuffer.toString()); 私が間違っている場合は、ESC/POSを使用して正しいコードを入力してください。 –

+0

このようなコードは申し訳ありませんが、私はこれで少し新しくなりました。 –

関連する問題