2013-06-25 7 views
0

제브라 프린터에서 명령을 내릴 때 출력을 얻을 수 있어야합니다. 도구 상자에서 "! U1 getvar"apl "을 보내면 프린터에 명령을 보내고 출력을 콘솔에 씁니다. 프린터를 바이트로 변환하여 전송하여 명령을 프린터로 성공적으로 보낼 수있었습니다. 그러나 프린터에서 읽으려고하면 null 스트림이 생깁니다.제브라 프린터에서 bytestream 출력을 얻습니다.

+0

이전에 LinkOS를 다운로드했으며 iMz320을 사용할 수 있지만 다른 1 ~ 2 주 동안 개인적으로 재생할 수는 없습니다. Zebra 담당자에게 연락을 시도한 적이 있습니까? 바보 같은 질문처럼 들리지만 가끔은 엔지니어가 도움이 될 수 있습니다. – Dan

답변

1

Zebra는 프린터와 통신하는 데 유용한 SDK를 제공합니다. iOS SDK에서 Connection 객체의 "sendAndWaitForResponse"와 같은 명령을 찾을 수 있습니다. 원하는 작업은 http://www.zebra.com/us/en/products-services/software/link-os/link-os-sdk.html입니다.

일반적으로 Zebra 프린터는 TCP 연결을 지원하므로 프린터에 쓰고 응답을 읽을 수 없어야합니다. 네트워크 상태가 응답을 지연시킬 수 있으므로 응답을 읽기 전에 보내는 명령을 보낸 후에 잠시 기다려야 할 수도 있습니다. 코드를 포함하면보다 효과적으로 도움을받을 수 있습니다.

마지막으로 ZPL 문자열의 끝에 줄 바꿈 문자 (0x0A)를 추가해야합니다. 새 줄 문자로 끝나면 프린터는 SGD 명령 (! U1 명령) 만 인식합니다!

+0

연결 개체에 대한 "sendAndWaitForResponse"메서드를 찾을 수 없습니다. – user2402616

+1

해당 Java SDK에만있을 수 있습니다. 두 번째 제안을 시도하고 'write'라고 말한 다음 잠시 기다려서 응답을 기다리는 것이 좋습니다. 다시 - 데이터 끝에 새로운 행 (0x0A)을 추가하십시오! –

+0

나는 개행을했고 마침내 원하는 출력을 얻었지만 이상하다. 도구 상자는 다음과 같은 결과를 받았다.받은 : 149 bytes apl. apl.enable : none, 선택 사항 : 없음 apl.framework_version : 1.0 apl.version : none apl.o. apl.o.graphics_byte_width : 72, 선택 : 0-255 – user2402616

관련 문제