2013-04-18 4 views
5

Android 앱에서 Zebra 프린터 (iMZ 320)로 레이블을 인쇄하려고하는데 내 명령 행을 이해하지 못하는 것 같습니다.Zebra에서 명령을 인식하지 못합니다. iMZ320

나는 프린터로 보내이 샘플 코드, 프린터 인쇄 용지에 모든 명령을 시도 할 때 : 나는 얼룩말의 공식 웹 사이트에서 ZPL 프로그래밍 튜토리얼을 읽은

zebraPrinterConnection.write("^XA^FO50,50^ADN,36,20^FDHELLO^FS^XZ".getBytes()); 

,하지만 난 내 프린터를 ZPL 명령으로 제대로 작동시키는 방법을 알아낼 수 없습니다.

+4

reopen.I이 질문이 폐쇄되어 있어야합니다 생각하지 마십시오. 저는 지금 iOS에서 Zebra iMZ320으로 작업하고 있습니다. 나는 이것이 다시 열리지 않으면 나는 대답에 답변을 게시 할 것이다. – jaime

+0

K, jason의 답변에 대한 의견으로 내 답변을 추가했습니다. – jaime

+1

감사합니다 jaime. 내 게시물을 누가 닫았는지 모르겠다. 나는 폐쇄되어서는 안된다고 생각한다. – Darknoe

답변

6

:

그냥 일반 텍스트의 두 줄을 인쇄하는 비동기 작업에서이 코드를 실행합니다. 즉, 제공 한 ZPL 명령을 구문 분석하고 해석하지 않고 인쇄합니다. 라인 인쇄 모드 대신 ZPL 모드로 프린터를 구성해야합니다. 다음 명령을 사용하십시오.

! U1의 SETVAR "device.languages" "ZPL"

참고 : 어떤 경우에는 당신은 언어를 설정 할 수 있습니다에 "당신이 줄 바꿈을 포함 할 필요가 ZPL"

공지 사항 "대신의"hybrid_xml_zpl 이 명령의 끝에서 문자 (또는 캐리지 리턴). Zebra 설정 유틸리티를 사용하여 주 화면의 '통신'버튼을 눌러 '통신'관점에서 프린터로 직접 명령을 보낼 수 있습니다.

얼룩말 설정 유틸리티 : http://www.zebra.com/us/en/products-services/software/manage-software/zebra-setup-utility.html

ZPL은 설명서 페이지 (705) (자세한 내용은 명령 등 위의 하나) : https://support.zebra.com/cpws/docs/zpl/zpl_manual.pdf

+0

또는 위에 나열된 명령을 Zebra 설치 유틸리티 대신 앱을 통해 보낼 수도 있지만 문자열 끝에 '\ r \ n'을 추가해야합니다. –

+1

마지막으로 Zebra의 "고객 서비스"에서 연락을하고 ZPL에서 CPCL 및 이미지로 텍스트 명령을 보내야한다고 설명했지만 그 정보는 복잡하고 쓸모없는 나는 여전히 좋은 형식으로 아무것도 인쇄 할 수 없다. 어떤 방법으로 고맙습니다 :) – Darknoe

+2

찾았습니다! "hybrid_xml_zpl"은 줄 인쇄 모드로 제공되며 "zpl"로 설정하면 작동하지 않으므로 setvar를 사용해야합니다. https://km.zebra.com/kb/index?page=content&id=SO8503&actp=LIST_RECENT – jaime

1

간단한 텍스트를 인쇄하려면 일반 "원시"데이터를 BT 소켓에서 Zebra 프린터로 보내면 인쇄 할 수 있습니다! Zebra 인쇄 라이브러리를 사용할 필요가 없습니다. 제브라 IMZ 라인 인쇄 모드에 출시 할 수

protected Object doInBackground(Object... params) { 
    //bt address 
    String bt_printer = "00:22:58:31:85:68"; 
    String print_this = "Hello Zebra!\rThis is second line"; 
    //vars 
    BluetoothSocket socket = null; 
    BufferedReader in = null; 
    BufferedWriter out = null; 
    //device from address 
    BluetoothDevice hxm = BluetoothAdapter.getDefaultAdapter().getRemoteDevice(bt_printer); 
    UUID applicationUUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"); 
    try { 
     //create & connect to BT socket 
     socket = hxm.createRfcommSocketToServiceRecord(applicationUUID); 
     socket.connect(); 
     in = new BufferedReader(new InputStreamReader(socket.getInputStream())); 
     out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())); 
     out.write(print_this); 
     out.flush(); 
     //some waiting 
     Thread.sleep(3000); 
     //in - nothing, just wait to close connection 
     in.ready(); 
     in.skip(0); 
     //close all 
     in.close(); 
     socket.close(); 
     out.close(); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (InterruptedException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    }  
    return null; 
} 
+1

텍스트 서식 및 이미지 인쇄가 필요합니다. 프린터가 내 명령을 사용자 코드와 함께 이해하지 못합니다. ( – Darknoe

+0

원시 텍스트를 "line_print"모드로 설정하면 대부분의 사람들이 원하는 것은 아니지만 Zebra의 기본 설정은 무의미하거나 무의미한 것처럼 보입니다 .QLn220에서는 명령을 보낼 때마다 명령을 보내지 않아도됩니다. Bizarro! –

관련 문제