0

我面临斑马 3842 标签打印机工作缓慢的问题。

我使用标准的 .net 打印框架。(System.Drawing.Printing.PrintDocument) 调用 PrintDocument 的 Print() 函数后,打印机等待几秒钟并打印第一个标签。然后它再次等待一秒钟并拉回标签并打印。过程是这样的。

您可以从以下视频中看到情况:(单次打印通话,3 页) http://www.youtube.com/watch?v=DeIoO6qT0kE

我尝试使用 Microsoft Word 应用程序打印 3 页。(同样的情况也存在) 但是,如果我使用 Zebra 的软件打印标签,它可以正常工作,没有延迟。

我还安装了最新的驱动程序。

我是标签打印的新手,所以我向有经验的人寻求帮助。可能是什么问题?我应该先检查什么?

提前致谢。

4

1 回答 1

0

就目前而言,您正在使用的类(PrintDocument)不理解打印机的母语(EPL - 我认为!)。即使您的标签设计很简单,PrintDocument 也无法生成 EPL,因此它只是创建一个与整个标签大小相同的图像并将该图像发送到 Zebra 打印机驱动程序。由于驾驶员只是收到一张图像,它并不“知道”您实际上只是在打印文本和一两个框。相反,它将整个标签发送到打印机进行打印。因此,现在不仅发送一些轻量级的 EPL 文本命令,还发送将整个标签区域表示为图像的数据。这意味着您发送的是千字节数据而不是字节数据。此外,驱动程序必须将图像数据转换为大型 EPL 图形命令。

我看到一个明显的替代方案,具体取决于您使用的连接。它要求您阅读一点 EPL 手册,并整理出适合您的标签设计。您可以在此处查看示例 EPL 标签:https: //support.zebra.com/cpws/docs/eltron/common/epl2_samp.htm,以及此处的 EPL 手册:https: //support.zebra.com/cpws/docs /eltron/epl2/EPL2_Prog.pdf

如果使用 USB:

使用 RawPrinterHelper 通过驱动程序向打印机发送纯 EPL 命令:

http://support.microsoft.com/kb/322091

string printerName = "Your_Printer_Driver_Name";
string eplCommand = "N\r\nA50,0,0,1,1,1,N,\"Example 1\"\r\nP1\r\n";
RawPrinterHelper.SendStringToPrinter(printerName , eplCommand );

如果您使用 TCP(以太网):

你的工作更简单。你甚至不需要司机。只需通过 TCP 连接将 EPL 发送到打印机:

string eplString = "N\r\nA50,0,0,1,1,1,N,\"Example 1\"\r\nP1\r\n";

// Open connection
System.Net.Sockets.TcpClient client = new System.Net.Sockets.TcpClient();
client.Connect(ipAddress, port);

// Write EPL String to connection
System.IO.StreamWriter writer = new System.IO.StreamWriter(client.GetStream());
writer.Write(eplString );
writer.Flush();

// Close Connection
writer.Close();
client.Close();
于 2013-10-26T16:50:21.693 回答