首页 文章

ESC / POS打印机在打印缓冲区中的所有内容之前剪切纸张

提问于
浏览
1

我正在编写代码(在C#中),它将收据打印到ESCPOS打印机,并且当前使用EPSON TM20II进行测试 . 我直接在Linux上的COM端口上打印,并通过Windows上的USB模拟COM端口打印 . 虽然我能够正常打印任何类型的评论,但我在裁剪文章时遇到了问题 .

更具体地说,如果我在其余内容之后发送剪切纸命令( GS V 0 )并将整个字节流发送到端口,则打印机会在打印最后一行内容之前剪切纸张 .

起初我认为这是一个计时问题,所以我尝试发送剩下的内容,然后在发送Cut命令之前等待一小段时间,但无济于事 .

这是我使用的代码示例和我发送到打印机的缓冲区的内容,它无法在适当的位置剪切纸张 .

printer.Reset();
printer.SetTextAlignment(TextAlignment.Center).PrintTextLine(" 1234567890 ");
printer.SetTextSize(TextSize.Quadruple).PrintTextLine(" 1234567890 ");
printer.CutPaper();
printer.Print();

生成发送到打印机的以下(十六进制)输出:

1B-40-1B-74-0F-1B-61-01-20-31-32-33-34-35-36-37-38-39-30-20-0D-0A-1B-21-30-20-31-32-33-34-35-36-37-38-39-30-20-0D-0A-1D-56-00

1 回答

  • 0

    Kalhspera!

    切割机构和热敏打印头之间有一段距离 . 因此,在发送剪切纸命令之前,您必须稍微送纸 . 一种解决方案是在发送剪切纸命令之前发送几个换行符 .

相关问题