我正在打印一些QR碼(來自Ruby腳本),將ESC/POS命令寫入Epson TM-T20熱敏打印機。通過ESC/POS熱敏打印機打印QR碼?
順便說一句,我正在寫一個簡單的ESC/POS命令打印機「驅動程序」。 我正在使用Epson TM-T20(USB接口)的打印機 我正在使用serialport gem從Windows 7主機進行一些測試。
關於爲打印格式化文本和線性條形碼編寫ESC/POS命令的所有問題,但是我使用愛普生提供的唯一可用文檔(據我所知),無法理解打印QR碼的命令協議,見:http://www.novopos.ch/client/EPSON/TM-T20/TM-T20_eng_qr.pdf
現在,他關於QRCodes命令的部分對我來說很模糊,我無法解釋請求的字節序列;相反,我發現非常有益的Nicolas的例子,我在這裏找到:https://code.google.com/p/python-escpos/wiki/Usage
黑客有用的字節碼例子,我能夠successuffly打印QR代碼,請參閱:
我https://twitter.com/solyarisoftware/status/464740233008132096
不過,在一般情況下,我m對ESC/POS消息格式感到困惑,尤其是在我會在QR碼內插入長文本消息(> 400個字符)的情況下......似乎打印機拒絕(不打印)包含超過400個字符的QR碼此代碼:
def test_qrcode (printer, text, print_also_text=false, qr_size=6.chr)
s = text.size + 3
lsb = (s % 256).chr
msb = (s/256).chr
# https://code.google.com/p/python-escpos/wiki/Usage
escpos = ""
escpos << "\x1D\x28\x6B\x03\x00\x31\x43#{qr_size}"
escpos << "\x1D\x28\x6B\x03\x00\x31\x45\x33"
escpos << "\x1D\x28\x6B#{lsb}#{msb}\x31\x50\x30"
escpos << text #
escpos << "\x1D\x28\x6B\x03\x00\x31\x51\x30"
# writing byte streams directly to the serial port
printer.write escpos
end
是否索姆可以提供一個關於ESC/POS命令(=字節碼序列)的CLEAR ESC/POS DOCUMENTATION來打印QRCodes(二維碼ESC/POS命令)?
我做在Python這個庫與TM-T20溝通。 https://github.com/benoitguigal/python-epson-printer。您可以使用print_image命令來打印您的QR碼。我猜可以很容易地將代碼翻譯成Ruby。 –
我知道!我已經在6月份重播給你,在這裏:http://www.raspberrypi.org/forums/viewtopic.php?p=562202#p562202 :-) –