【发布时间】:2021-10-04 08:09:28
【问题描述】:
我有一台 Epson CW-C6000,我正在尝试使用 ESC 命令进行控制。我得到了要打印的文本,所以我知道我的 IP 地址、端口等正确,但我终生无法打印图像。
这是我的代码(从 Ruby on Rails 服务器运行,大部分图像被截断):
streamSock = TCPSocket.new( "X.X.X.X", 9100 )
str = "~DYR:PRODIMG,B,P,183208,0,89504E470D...4AE426082" + "^XA" + "^FO150,150^IMR:PRODIMG.PNG^FS" + "^XZ"
streamSock.send( str , 0)
streamSock.close
图片是一个.png,我用这个网站转换成十六进制: http://tomeko.net/online_tools/file_to_hex.php?lang=en
我主要使用此 PDF 的第 10 页作为参考: https://files.support.epson.com/pdf/pos/bulk/esclabel_apg_en_forcw-c6000series_reve.pdf
有人有提示吗?爱普生支持人员非常无助。
如果我的格式不好,我也很抱歉;我是新来的,如果有问题,我会很乐意编辑我的帖子。
【问题讨论】:
-
我使用十六进制字符串作为图像数据。那不应该是(B)inary吗?
-
我已经阅读了所有文档,但没有什么能让我清楚“数据”参数应该是什么。我使用了您链接的 C# 问题中的代码并得到了与以前相同的十六进制,所以我认为这是正确的,但我不明白 ZB64 是如何发挥作用的。我是否必须以某种方式压缩图像两次?就像你说的,什么是 PNG hex ZB64?
-
我从 Zebra 找到了这个命令,而且它有效!但是,当我输入自己的 Base64 字符串和文件大小时,打印机只会闪烁。 support.zebra.com/cpws/docs/zpl/DY_LOGO_PNG.zpl