2017-03-09 3 views
0

감열 프린터를 사용하여 납품 메모를 인쇄하는 Android Java 앱을 개발 중입니다.Android 앱에서 감열 프린터 (DPP 450)로 인쇄

사실 나는 Bluetooth를 통해 (ESC/POS을 사용하여) 인쇄 할 수있는 두 개의 프린터 모델을 가지고 있지만 DPP-450 (ESC/POS를 지원함)으로 인쇄하려고하면 Bluetooth를 통해 정상적으로 연결되지만 아무 것도 인쇄하지 않습니다 . 내가 인쇄

방법은 다음과 같습니다 코드의

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); 
} 

이 작품이 아닌 DPP-450, 내 다른 두 개의 프린터 (시민 CMP-40 및 스타 프린터 BTT)에서 작동합니다.

제발 도와 줄 수 있습니까?

답변

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

코드가 다른 유사한 프린터에서 작동하기 때문에 제시 한 코드는 문제가 아닐 수 있습니다.

당신은 체계적으로이 문제를 해결해야합니다 :

  • 다른 컴퓨터에 프린터 작동합니까? 어쩌면 그것은 단순히 부서지기 쉽습니다.
  • 데스크톱 컴퓨터의 간단한 프로그램을 사용하여 연결할 수 있습니까? 그것은 안드로이드 특정 문제를 배제합니다.

다음 단계를 시도하고 나는이 문제를 발견했습니다

+0

처음으로 물어봐 주셔서 감사합니다. 나는 그것을 시도했지만 네, 그 두 단계는 문제없이 작동합니다. 프린터 제조업체가 제공 한 sdk의 예는 textBuffer.append ("{{}} {}} {TOTAL : {/w}$3.00 {br}"}와 같은 인쇄용 코드가 있습니다. textBuffer.append ("{br}"); textBuffer.append ("{{}} 감사합니다! {br}"); printer.reset(); printer.printTaggedText (textBuffer.toString()); 하지만 내가 틀렸다면 ESC/POS를 사용하면 올바른 코드 일 것입니다. –

+0

죄송합니다. 이와 같은 코드 조각에 대해서는 조금 새롭습니다. –