从c#上对ZPL打印机进行程序化切割



我正在在C#中开发一个程序,以使用UPS处理运输请求,在客户端数据库中注册它们,然后将新标签发送到网络的ZPL打印机。

我们正在使用带切割机的GX420T斑马打印机。打印标签可以通过IP毫无问题地工作。

我遇到了一个裁切标签的问题。客户希望将每个货物的标签连接起来,但与其他货物的标签分开。(即。仅在打印所有货物标签后才切割)带有单个标签的装运,该标签按预期剪裁。带有多个标签的发货,切割机永远不会运行。

        bool print = true; //true: If printing fails on the first label,
                           // do not try the rest.
                           //false: do not print
        //Set printer mode
        print = parseZPL.printZPL_IP(@"^XA^MMD^XZ");
        //Save and print Package labels
        foreach (XElement package in Packages)
        {   //Parse XML
            if (package.Name.LocalName == "PackageResults")
            {
                //Pulling Package and Shipping label information from XML
                string ShippingLabel = package.Element(ship + "ShippingLabel").Element(ship + "GraphicImage").Value;
                //convert string to Base64
                byte[] ZPLbytes = Convert.FromBase64String(ShippingLabel);
                if (print)
                {
                    print = parseZPL.printZPL_IP(System.Text.Encoding.ASCII.GetString(ZPLbytes));
                }
            }
        };
        if (print)
        {
            print = parseZPL.printZPL_IP(@"~JK");
        }

我尝试在〜jk命令之前添加睡眠()命令,但没有成功。我在没有找到有效的解决方案的情况下搜寻了ZPL文档。

任何建议都将不胜感激。谢谢!

打印一批标签时,我认为您需要在第一个标签开始时设置 ^MMT(撕裂),在最后一个标签开始时^MMC(剪切)。/p>

相关内容

  • 没有找到相关文章

最新更新