Python将escpos命令发送到热敏打印机字符大小问题

问题描述 投票:0回答:1

我需要将收据发送到热敏票据打印机。我在指定[https://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=34]]中指定字符大小时遇到​​问题。在Python中,我将此命令编写为

#ESC @ for initiate the printer
string = b'\x1b\x40'
#GS ! command in the doc corresponding to 4 times character height and width
string = string + b'\x1d' + b'\x21' + b'\x30' + b'\x03' 
string = string + bytes('hello world')

在第一行中,我启动了与ESC @相对应的打印机在第二行中,我想将字符大小指定为高度和宽度的4倍(请参阅文档链接)。在第三行中,我打印出文本。

问题是,打印出的文本具有4倍的宽度,但没有4倍的高度。我也试图将字符大小写为两个命令

string = string + b'\x1d' + b'\x21' + b'\x30'
string = string + b'\x1d' + b'\x21' + b'\x03' 

在这种情况下,我的文本以4倍高而不是4倍宽打印出来。我很确定我读错了文档,但是我不知道我应该怎么写命令才能同时达到4倍的高度和宽度。

对于GS也存在examples! escpos中的语法,它似乎写成GS! 0x11可以实现宽度和高度的2倍。从表中看来这似乎没有意义。我知道python-escpos存在,但是在Windows 10上对于我的USB打印机不起作用。

python thermal-printer escpos
1个回答
0
投票
将高度和宽度放大4倍。两个“ 3”表示放大倍数减一。第一个是宽度,第二个是高度。

所以问题似乎在于您将宽度和高度分为两个字节。应该将它们收集到一个字节中。

© www.soinside.com 2019 - 2024. All rights reserved.