2012-08-11 3 views
1

루비를 사용하여 IP 주소를 사용하여 일련의 데이터 문자열을 Zebra 프린터로 전송합니다.Ruby의 IP 주소로 ZPL 데이터 문자열 전송

"^XA" + 

"^FO50,50" + 

"^A0N50,50" + 

"^FDHello, World!^FS" + 

"^XZ"; 

I :

require 'socket' 
streamSock = TCPSocket.new("127.0.0.1", 20000) 
#streamSock.send("Hello\n") 
str = streamSock.recv(100) 
print str 
streamSock.close 

내가 ZPL (얼룩말 프린트 언어) 문자열이 시리즈의 코드로 "Hello\n" 조각을 대체해야합니다

는 여기에 내가 시작 한 루비 코드입니다 각 줄에 # streamSock.send ("xxx")를 사용하는 몇 가지 방법을 시도해 보았습니다. 예 : # streamSock.send ("^ XA") - 그리고 다른 모든 문자열 요소는 따로 따로 있습니다.

나는^XA^FO50,50^A0N50,50^FDHello, 세계!^FS^

streamSock.send ("처럼, 한 줄에 ZPL 코드의 전체 문자열을 넣어 몇 가지 변종을 시도 XZ ")

Zebra 레이블 프린터가 응답하지 않습니다. 이전 유틸리티 문자열을 다른 유틸리티를 사용하여 텍스트 파일로 프린터에 보내면 잘 인쇄됩니다.

루비 코드가이 작업을 수행하는 데 필요한 아이디어가 있습니까?

+0

입니까? 'Hello \ n'을 보내면 괜찮습니까? ZPL이 아닙니다. 그렇다면 프린터를 ZPL 대신 줄 인쇄 모드로 설정할 수 있습니다. 라인 인쇄 모드 인 경우 ZPL을 인식하지 못하며 그 반대의 경우도 함께 사용할 수 없습니다. –

+0

나는 일을 가지고 : 는 '소켓' 호스트 이름 = '192.168.1.6' 포트 = 515 S = TCPSocket.open (호스트 이름, 포트) s.puts "^ XA^F100,100^BXN을 요구, 10,200^FO150,120^FD01000012000000311081020122100000009^FS^XZ " s.close – devrwj

답변

2

그것은 나를 위해 작동 :이 프린터의 어떤 모델

require 'socket' 

streamSock = TCPSocket.new("192.168.205.214", 6101) 
str = "^XA" + "^FO50,50" + "^A0N50,50" + "^FDHello World^FS" + "^XZ" 
streamSock.send(str , 0) 

streamSock.close 
관련 문제