2017-02-23 222 views
1

问题通过打印服务器发送原始ZPL斑马打印机工作不

我想送ZPL RAW打印服务器。有一台Zebra ZM400打印机。 我可以得到PrintServer,PrintQueue对象。另外,我可以添加一个作业,并写入其JobStream。

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

进展

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

 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字节。然后,打印机什么都不打印。

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

回答

0

在我的应用程序使用下面的代码工作正常:

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(); 

*端口9100是Zebra打印机的默认据我所知

+0

谢谢您的答复。在你的情况下,你直接连接到打印机。就我而言,我需要通过打印服务器进行连接。 – Gustavo

+0

啊,我的不好。我现在看到它。 ZPL看起来不错,顺便说一句。尽管您可以检查打印机上字体P是否可用。 (^ APN,30,30) – Johan

+0

我检查并且字体P安装在Z:P.FNT中。无论如何,当字体没有安装时,字母会打印得很大且像素化。 – Gustavo

相关问题