首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Brother打印机Esc/P

Brother打印机Esc/P
EN

Stack Overflow用户
提问于 2017-08-04 17:56:21
回答 1查看 877关注 0票数 1

我想打印一个产品清单的价格标签。我不能使用csv,因为价格变化,并通过内部应用程序这样做。如何将类似数组的数据发送到打印机。我可以一次打印一个标签,但是速度很慢。通过P模板软件,打印速度非常快。任何帮助都将不胜感激。

我正在向十六进制打印机发送命令,它们工作正常。可按Esc/P模式和P模板模式打印。P模板模式更好,因为布局可以设置并存储在打印机上,然后我需要做的就是发送对象数据。

任何关于如何发送排序数组的帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2017-12-05 21:38:31

我们使用的是Mac计算机(任何Unix计算机都会做同样的事情),并从一个简单的bash脚本将数据发送到打印机。如果使用Windows计算机,它将以同样的方式工作,只要找到一种方法将二进制数据发送到串行/USB端口即可。

(我们之所以首选Unix机器,是因为我们还通过Internet与外部服务器数据库通信,这在Unix脚本中是一项简单的任务)。

所有Unix机器都有'lp‘命令,可以将二进制数据发送到打印机。我在bash终端中编写了一个脚本,该脚本将参数包装起来,复制到'data‘变量中,然后将这个'data’变量发送到打印机。

简而言之,可以像这样打印一个小标签:

代码语言:javascript
复制
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‘替换为您自己的打印机名称。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45503738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档