【问题标题】:Sending raw ZPL to Zebra printer via PrintServer is not working通过 PrintServer 将原始 ZPL 发送到 Zebra 打印机不起作用
【发布时间】:2017-02-23 12:26:38
【问题描述】:

问题

我正在尝试将 zpl RAW 发送到打印服务器。有一台 Zebra ZM400 打印机。 我可以获得 PrintServer、PrintQueue 对象。另外,我可以添加一个作业,并写入它的 JobStream。

我检查了打印队列(在 Windows 上),并且文档已发送。打印机数据指示灯闪烁 1/2 秒。

进展

这是我打印到打印服务器的代码:

PrintServer ps = new PrintServer(@"\\192.168.1.1");
PrintQueue pq = ps.GetPrintQueue("Printer 01");

Byte[] myByteBuffer = Encoding.ASCII.GetBytes(
    @"^XA^MMP^PW300^LS0^LT0^FT10,60^APN,30,30^FH\^FDSAMPLE TEXT^FS^XZ");

PrintSystemJobInfo psji = pq.AddJob();
psji.JobStream.Write(myByteBuffer, 0, myByteBuffer.Length);
psji.JobStream.Flush();
psji.JobStream.Close();

问题

当我检查打印队列(在 Windows 上)时,文档有 0 个字节。然后,打印机什么也不打印了。

我错过了一些特殊的字符吗?或者,我是否发送了错误的原始数据?

【问题讨论】:

    标签: c# printing zebra-printers zpl printqueue


    【解决方案1】:

    在我的应用程序中,我使用以下代码可以正常工作:

    ZPLString = @"^XA^MMP^PW300^LS0^LT0^FT10,60^APN,30,30^FH\^FDSAMPLE TEXT^FS^XZ";
    // Open connection
    System.Net.Sockets.TcpClient client = new System.Net.Sockets.TcpClient();
    client.Connect("10.10.5.85", 9100);
    
    // Write ZPL String to connection
    System.IO.StreamWriter writer = new System.IO.StreamWriter(client.GetStream());
    writer.Write(ZPLString);
    writer.Flush();
    
    // Close Connection
    writer.Close();
    client.Close();
    

    编辑:*端口 6101 是 Zebra 打印机的默认端口,9100 是备用端口

    【讨论】:

    • 感谢您的回复。在您的情况下,您直接连接到打印机。就我而言,我需要通过打印服务器进行连接。
    • 啊,我的错。我现在看到了。顺便说一句,ZPL 看起来还不错。尽管您可以检查打印机上是否有字体 P。 (^APN,30,30)
    • 我检查并在 Z:P.FNT 中安装了字体 P。无论如何,当没有安装字体时,字母会被打印得很大并且像素化。
    • 6101其实是默认端口,9101是备用端口。
    • 9100* 抱歉打错了
    【解决方案2】:

    结合 OP 的问题和 Johan 的答案,您可以使用 PrintServer 得到一个有效的文档:

    LocalPrintServer localPrintServer = new LocalPrintServer();
    
    // List the print server's queues
    PrintQueue pq = localPrintServer.GetPrintQueue(@"Boca FGL 200 DPI");
    PrintSystemJobInfo job = pq.AddJob();  
    System.IO.StreamWriter writer = new System.IO.StreamWriter(job.JobStream);
    writer.Write(@"hello world<p>");
    writer.Flush();
    

    【讨论】:

      猜你喜欢
      • 2011-05-25
      • 1970-01-01
      • 1970-01-01
      • 2011-01-03
      • 2015-02-10
      • 1970-01-01
      • 2014-04-26
      • 1970-01-01
      • 2021-05-24
      相关资源
      最近更新 更多