1

使用 Ruby 将一系列数据字符串发送到使用其 IP 地址的 Zebra 打印机。

这是我开始使用的 Ruby 代码:

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

我需要用"Hello\n"这一系列字符串的 ZPL(斑马打印语言)代码替换该部分:

"^XA" +

"^FO50,50" +

"^A0N50,50" +

"^FDHello, World!^FS" +

"^XZ";

我已经尝试了几种对每一行使用 #streamSock.send( "xxx" ) 的方法 - 例如:#streamSock.send( "^XA" ) - 然后分别使用所有其他字符串元素。

我尝试了几种将整个 ZPL 代码字符串放入一行的变体,例如

streamSock.send("^XA^FO50,50^A0N50,50^FDHello, World!^FS^XZ")

Zebra 标签打印机没有响应。如果我使用另一个实用程序将较早的一系列字符串作为文本文件发送到打印机,则打印效果很好。

任何关于 Ruby 代码应该如何工作的想法?

4

1 回答 1

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
于 2012-11-13T18:19:09.827 回答