C# · 12月 23, 2021

使用C#将ESC命令发送到打印机

我的应用程序需要打印发票,然后从数据库中获取发票,在大字符串中插入发票上的信息(告诉行,列等),之后我准备将字符串发送到打印机.

我的问题是:我需要在我的大字符串中放入一些ESC / P命令/字符

我试着这样做:

char formFeed = (char)12; Convert.tochar(12); MyBigString.Insert(10,formFeed);

这样,第10行将执行FormFeed,但这不起作用

注意:我将MybigString一次性发送到打印机.

为了使我的代码有效,我需要逐行将数据发送到打印机?

谢谢您的帮助.

PS:对不起,对于我的英语,我是一名不会说英语的巴西开发人员.

解决方法 绕过打印机驱动程序并使用其本机命令语言直接控制打印机是受支持的方案. P / Invoke在 KB article中得到了很好的解释.

你肯定要这样做吗?温和地说,通常只使用低成本销售点热销或矩阵打印机进行尝试是不常见的.如果你不喜欢PrintDocument.PrintPage的机制,没有人,你可以考虑我在this thread的代码.注意FormFeed方法.