有没有一种方法可以将ZPL(斑马编程语言)发送到.NET中的打印机?
我有在Delphi中执行此操作的代码,但它并不漂亮,我宁愿不尝试在.NET中按原样重新创建它。
看一下这个线程:使用PrintDocument类将ZPL代码打印到ZEBRA打印机。
具体来说,OP从线程的答案中选择此功能:
[DllImport("kernel32.dll", SetLastError = true)] static extern SafeFileHandle CreateFile(string lpFileName, FileAccess dwDesiredAccess, uint dwShareMode, IntPtr lpSecurityAttributes, FileMode dwCreationDisposition, uint dwFlagsAndAttributes, IntPtr hTemplateFile); private void Print() { // Command to be sent to the printer string command = "^XA^FO10,10,^AO,30,20^FDFDTesting^FS^FO10,30^BY3^BCN,100,Y,N,N^FDTesting^FS^XZ"; // Create a buffer with the command Byte[] buffer = new byte[command.Length]; buffer = System.Text.Encoding.ASCII.GetBytes(command); // Use the CreateFile external func to connect to the LPT1 port SafeFileHandle printer = CreateFile("LPT1:", FileAccess.ReadWrite, 0, IntPtr.Zero, FileMode.Open, 0, IntPtr.Zero); // Aqui verifico se a impressora é válida if (printer.IsInvalid == true) { return; } // Open the filestream to the lpt1 port and send the command FileStream lpt1 = new FileStream(printer, FileAccess.ReadWrite); lpt1.Write(buffer, 0, buffer.Length); // Close the FileStream connection lpt1.Close(); }