2

我需要使用 ESC/POS 命令在我的收据上画一条水平线(实线但虚线将是完美的!)。

现在我正在使用一些技巧,允许我通过使用带有一些空格字符的“UnderLine”命令来绘制一条水平线,但我不喜欢它,因为我需要为该线提供一些绘图属性,例如“高度”:

PRINT #1, CHR$(&H1B);"-";CHR$(1); <==== set underline on
PRINT #1, "            "; CHR$(&HA);
PRINT #1, CHR$(&H1B);"-";CHR$(0); <==== set underline off

我相信它可以通过位图像命令发生,但我不知道该怎么做。

提前致谢

4

4 回答 4

1
于 2018-07-09T09:11:45.183 回答
0

打印特殊图形的另一种方法是使用位图命令 0x1B 0x2A (ESC *) 然后设置整个页面的位数,然后生成 8 位高 x xx 字节宽的像素图。8 位由 MSB(顶部)到 LSB(底部)表示,因此实心 8 像素高线为 0xFF。我经常使用数据字节 0x80 来绘制一条 1 像素的线,或者使用 0x01 来将线放在底部。此外,您可以参考这篇文章: http: //nicholas.piasecki.name/blog/2009/12/sending-a-bit-image-to-an-epson-tm-t88iii-receipt-printer-using-c- and-escpos/ 玩得开心。

于 2015-02-17T18:37:48.963 回答
0

使用mike42 的 escpos-php

$printer->textRaw(str_repeat(chr(196), 40).PHP_EOL);
于 2021-08-23T13:54:53.513 回答
-2

您必须进入页面模式,并将字符间距设置为 0 + 使用小字体大小和可能的粗体样式,以便下划线之间没有更多空间。要设置线高,唯一的解决方案是绘制几条堆叠在一起的线。这在页面模式下是可能的,因为您可以使用打印区域 (ESC W) 将数据放置在您想要的任何位置。

另一个可能的技巧是使用徽标来绘制线条(仍处于页面模式)

于 2014-08-09T07:05:52.733 回答