我想打印一个产品清单的价格标签。我不能使用csv,因为价格变化,并通过内部应用程序这样做。如何将类似数组的数据发送到打印机。我可以一次打印一个标签,但是速度很慢。通过P模板软件,打印速度非常快。任何帮助都将不胜感激。
我正在向十六进制打印机发送命令,它们工作正常。可按Esc/P模式和P模板模式打印。P模板模式更好,因为布局可以设置并存储在打印机上,然后我需要做的就是发送对象数据。
任何关于如何发送排序数组的帮助都将不胜感激。
发布于 2017-12-05 21:38:31
我们使用的是Mac计算机(任何Unix计算机都会做同样的事情),并从一个简单的bash脚本将数据发送到打印机。如果使用Windows计算机,它将以同样的方式工作,只要找到一种方法将二进制数据发送到串行/USB端口即可。
(我们之所以首选Unix机器,是因为我们还通过Internet与外部服务器数据库通信,这在Unix脚本中是一项简单的任务)。
所有Unix机器都有'lp‘命令,可以将二进制数据发送到打印机。我在bash终端中编写了一个脚本,该脚本将参数包装起来,复制到'data‘变量中,然后将这个'data’变量发送到打印机。
简而言之,可以像这样打印一个小标签:
data="\x1Bia\x00" # set esc_p mode
data="${data}\x1B@" # initialize printer (resets many variables)
data="${data}\x1BX\x32" # set font height
data="${data}Hello" # the actual data to be printed
data="${data}\x0C" # advances the page (basically prints the label)
# Check your binary on the screen (for debugging):
echo -ne $data | hexdump -C
# Send the data to the printer
echo -ne $data | lp -d Brother_PT_P900W当然,您必须将'Brother_PT_P900W‘替换为您自己的打印机名称。
https://stackoverflow.com/questions/45503738
复制相似问题