Warm tip: This article is reproduced from serverfault.com, please click

python-如何捕获 ZPL ^HV 输出

(python - How to capture the ZPL ^HV ouotput)

发布于 2016-10-10 11:16:49

我需要帮助来实现 ^HV ZPL 命令并将其捕获为主机。

我想读取 TID 并使用 Python 将其编码到 EPC,我可以将打印和编码命令发送到打印机,但如何从中读回?

如果我在 Zebra Setup Utilities 工具中使用“直接通信”程序,我可以在“收到的数据”窗口中取回 TID。

我试过使用 TCP/IP,但我不知道如何提取信息只是为了打印

但是我如何使用 python 捕获它?

谢谢 !

Questioner
idan357
Viewed
0
RWest 2016-10-11 04:05:28

通过 TCP 与 Zebra 打印机通信与任何其他 TCP 连接相同。如果问题是如何使用 ^HV 命令,通常将其放入存储格式。当你使用该格式进行打印时会发生响应。这是我从wiki.python.org修改的片段

#!/usr/bin/env python

import socket

TCP_IP = '127.0.0.1'
TCP_PORT = 9100
BUFFER_SIZE = 1024
FORMAT = "^XA^DFE:TEST.ZPL^FO30,30^A0N,50,50^FN1^FS^HV1,15,[,],^FS^XZ"
PRINT = "^XA^XFE:TEST.ZPL^FN1^FDHELLO WORLD^FS^XZ"

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((TCP_IP, TCP_PORT))
s.send(FORMAT)
s.send(PRINT)
data = s.recv(BUFFER_SIZE)
s.close()

print "received data:", data