如何使用 C# 通过 USB 将 EPL2 命令发送到 Zebra LP2844 打印机

How to send EPL2 command to a Zebra LP2844 printer via USB using C#

我需要使用 C# 在 Zebra 标签打印机上打印标签和条形码。我以前从未使用过它们,但阅读并试图找出一种方法来做到这一点。我从 http://support.microsoft.com/kb/322091 看到了这段代码,但它没有用。从我的试验中,我可以看到我能够将数据发送到打印机,但它没有响应和打印。我正在使用按钮将命令发送到打印机,就像 kb 文章中一样。

private void  ConnectButton_Click(object sender, EventArgs e)
{
    // Allow the user to select a printer.
    string s =  "B26,26,0,UA0,2,2,152,B,\"{0}\"";
    PrintDialog pd =  new PrintDialog();
    pd.PrinterSettings = new PrinterSettings();
    if (DialogResult.OK == pd.ShowDialog(this))
    {
       // Send a printer-specific to the printer.
       RawPrintrHelper.SendStringToPrinter(pd.PrinterSettings.PrinterName,s);
       MessageBox.Show("Data sent to printer.");
    }
}

以下两个博客 post 由 Nicholas Piasecki 撰写,对于尝试从 .NET 打印到 Zebra 打印机的每个人来说都是宝贵的资源:

(his website seems to be dead right now, so the links are going to the Wayback Machine)

我使用 Zebra 打印机和 EPL 超过 10 年,其中大约 6 年使用 .NET。
当我开始使用 Zebra/EPL 和 .NET 时,我只需要这两个博客 post 就可以让它正常工作。


关于这个:

And I have come across this code from http://support.microsoft.com/kb/322091, but it didn't work. From my trials I can see that I was able to send the data to the printer but it doesn't respond and print.

那篇文章的代码中有一个错误,解决方案在我链接的第一个博客 post 的底部有解释。