打印.txt文件后,向ESC/POS打印机发送剪纸命令



我为外卖网站制作了一个系统(使用C#和WooCommerce Rest API(,以便在用户在网站上订购产品后打印Ticket。

我正在使用EPSON TMT20II打印机打印数据。我将打印机用作网络打印机,因为我必须这样做,打印票据没有问题,我只需要在成功打印票据后剪纸,这就是我的问题所在。

我通过CMD命令发送数据

(示例:copy/b"D:…\order_n.txt"\\Servername\Printername"->打印我保存在.txt文件中的数据

是否可以将剪纸命令附加到我正在打印的.txt文件中,或者是否有其他更有效的方法通过C#剪纸

根据文档GS V 48GS V 0是可用于切割纸张的命令

https://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=87#gs_cv

我尝试使用RawPrinterHelper类并以字节形式发送剪切命令数据,但它会返回Windows错误1801,或者说我无法以这种方式访问打印机。我还试图将我发送到打印机的命令"文件"附加到打印机。

任何帮助都将不胜感激!如果我还不够详细,请告诉我!提前感谢

如果您可以使用原始ESC/POS命令和要打印的文本打印.txt文件,将其复制到服务器打印机设备,并让服务器将其直接发送到打印机,然后在文件末尾添加ESC/POS裁纸命令,似乎可以简单地裁纸。

在这种情况下,请根据参考页面上的注释创建命令。剪纸命令必须处于在行首没有发出打印请求的状态。此外,由于打印头和切纸器之间有一段距离,您需要使用功能B命令在切割之前放置适当的换行符。

顺便说一下,参考页中的0/48,例如GS V 0和GS V 48,是0x00/0x30。如果它是函数B,则它变为0x41/0x42,然后指定换行号。

相反,如果服务器上的程序将您发送到服务器的.txt文件转换为页面图像,然后在打印机上打印,则需要结合您编写的机制来剪切纸张。大概

现在可以工作了,

我刚刚将这些代码行附加到我正在打印的文本文件中

string GS = Convert.ToString((char)29);
string ESC = Convert.ToString((char)27);
string COMMAND = "";
COMMAND = ESC + "@";
COMMAND += GS + "V" + (char)48;
sw.WriteLine(COMMAND);

相关内容

  • 没有找到相关文章

最新更新