c#将纯文本发送到默认打印机(Zebra打印机)

时间:2013-10-04 01:17:37

标签: c# printing plaintext zebra-printers zpl

将文本发送到默认打印机的最佳选择是什么?

打印机是Zebra,文本是ZPL字符串。

许多例子都有字体大小,图形,点(x,y)。非常混乱。

但我需要发送字符串,打印机才能正常工作。

2 个答案:

答案 0 :(得分:2)

如果使用LPT或COM端口连接,则可以使用ap / invoke直接打开端口OpenFile,否则您将需要使用打印票API来创建RAW格式化的作业。请参阅http://support.microsoft.com/?kbid=322091以获取调用适当平台函数的帮助程序类,以允许来自C#的RAW打印作业。

答案 1 :(得分:2)

您的Zebra打印机是否在网络上?

如果是这样,这将有效 -

// Printer IP Address and communication port
string ipAddress = "10.3.14.42";
int port = 9100;

// ZPL Command(s)
string ZPLString =
"^XA" +
"^FO50,50" +
"^A0N50,50" +
"^FDHello, World!^FS" +
"^XZ";

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

        // Write ZPL String to connection
        using (System.IO.StreamWriter writer = new System.IO.StreamWriter(client.GetStream()))
        {
            writer.Write(ZPLString);
            writer.Flush();
        }
    }
}
catch (Exception ex)
{
     // Catch Exception
}

我已经成功使用了this库。