热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ZPL指令转换

publicpartialclassZplPrintControl{publicstringZPL_Start(){StringBuilderbuildernewStringBui

public partial class ZplPrintControl
    {
        public string ZPL_Start()
        {
            StringBuilder builder = new StringBuilder();
            builder.AppendLine("^XA"); //指令块的开始  
            builder.AppendLine("^MMC,Y");
            builder.AppendLine("^PRE,E");
            builder.AppendLine("^MD30"); //MD是设置色带颜色的深度  

            builder.AppendLine("^LH0,0");
            builder.AppendLine("^ABN,50,50");
            builder.AppendLine("^CW1,D:MSUNG.FNT");
            builder.AppendLine("^SEE:GB8BIT.DAT");
            builder.AppendLine("^CI26");

            return builder.ToString();
        }

        public string ZPL_End()
        {
            StringBuilder builder = new StringBuilder();

            builder.AppendLine("^XZ"); //指令块的结束  
            return builder.ToString();
        }

        ///

 
        ///  设置打印标签纸边距  
        ///
 
        ///

标签纸边距x坐标  
        ///

标签纸边距y坐标  
        ///  
        public string ZPL_PageSet(int printX, int printY)
        {
            StringBuilder builder = new StringBuilder();
            builder.AppendLine("^LH" + printX + "," + printY); //定义条码纸边距  80 10  
            return builder.ToString();
        }

        ///

 
        /// 打印凭条设置  
        ///
 
        ///

凭条宽度  
        ///

凭条高度  
        /// 返回ZPL命令  
        public string ZPL_SetLabel(int width, int height)
        {
            //ZPL条码设置命令:^PW640^LL480  
            string sReturn = "^PW{0}^LL{1}";
            return string.Format(sReturn, width, height);
        }

        ///

 
        ///  打印矩形  
        ///
 
        ///

起点X坐标  
        ///

起点Y坐标  
        ///

边框宽度  
        ///

矩形宽度,0表示打印一条竖线  
        ///

矩形高度,0表示打印一条横线  
        /// 返回ZPL命令  
        public string ZPL_DrawRectangle(int px, int py, int thickness, int width, int height)
        {
            //ZPL矩形命令:^FO50,50^GB300,200,2^FS  
            string sReturn = "^FO{0},{1}^GB{3},{4},{2}^FS";
            return string.Format(sReturn, px, py, thickness, width, height);
        }

        ///

 
        /// 打印英文  
        ///
 
        ///

待打印文本  
        ///

打印机字体 A-Z  
        ///

起点X坐标  
        ///

起点Y坐标  
        ///

旋转角度N = normal,R = rotated 90 degrees (clockwise),I = inverted 180 degrees,B = read from bottom up, 270 degrees  
        ///

字体高度  
        ///

字体宽度  
        /// 返回ZPL命令  
        public string ZPL_DrawENText(string EnText, string ZebraFont, int px, int py, string Orient, int Height, int Width)
        {
            //ZPL打印英文命令:^FO50,50^A0N,32,25^FDZEBRA^FS  
            string sReturn = "^FO{1},{2}^A" + ZebraFont + "{3},{4},{5}^FD{0}^FS";
            return string.Format(sReturn, EnText, px, py, Orient, Height, Width);
        }


        ///

 
        /// 中文处理,返回ZPL命令  
        ///
 
        ///

待转变中文内容  
        ///

字体名称  
        ///

X坐标  
        ///

Y坐标  
        ///

旋转角度0,90,180,270  
        ///

字体高度  
        ///

字体宽度,通常是0  
        ///

1 变粗,0 正常  
        ///

1 斜体,0 正常  
        ///  
        public string ZPL_DrawCHText(string ChineseText, string FontName, int startX, int startY, int Orient, int Height, int Width, int IsBold, int IsItalic)
        {
            StringBuilder sResult = new StringBuilder();
            StringBuilder hexbuf = new StringBuilder(21 * 1024);
            int count = ZplPrintControl.GETFONTHEX(ChineseText, FontName, Orient, Height, Width, IsBold, IsItalic, hexbuf);
            if (count > 0)
            {
                string sEnd = "^FO" + startX.ToString() + "," + startY.ToString() + "^XGOUTSTR" + ",1,2^FS ";
                sResult.AppendLine(hexbuf.ToString().Replace("OUTSTR01", "OUTSTR") + sEnd);
            }
            return sResult.ToString();
        }

        ///

 
        /// 打印条形码(128码)  
        ///
 
        ///

起点X坐标  
        ///

起点Y坐标  
        ///

基本单元宽度 1-10  
        ///

宽窄比 2.0-3.0 增量0.1  
        ///

条码高度  
        ///

条码内容  
        /// 返回ZPL命令  
        public string ZPL_DrawBarcode(int px, int py, int width, int ratio, int barheight, string barcode)
        {
            //ZPL打印英文命令:^FO50,260^BY1,2^BCN,100,Y,N^FDSMJH2000544610^FS  
            string sReturn = "^FO{0},{1}^BY{2},{3}^BCN,{4},N,N^FD{5}^FS";
            return string.Format(sReturn, px, py, width, ratio, barheight, barcode);
        }

        ///


        /// 打印二维码
        ///

        ///


        ///


        ///


        ///


        ///


        ///
        public string ZPL_DrawQRCode(int px, int py, int cl, int bch, string qrCode)
        {
            StringBuilder sb = new StringBuilder();
            sb.AppendFormat("^FO{0},{1}", px, py);
            sb.Append("^BQ,2,7");
            sb.AppendFormat("^FDLA,{0}^FS", qrCode);

            return sb.ToString();
        }

        public string ZPL_DrawImage(int px, int py, int cl, int bch, string path)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append("^FO6,50^GFA,04608,04608,00048,:Z64:");
            sb.Append("eJztlz1rHEcYx5/RCI0C4kakuuLQnPAXuHKL860MDrhJHUjjHPkCa6VZkeN2iAqlsgkpYxJBvoaDVjZYDqRw6SLFHHJwEQeNcXCWeLOTZ1527yXgO6lK4S32Vne//e//eZlnRwCQKbjMQU15KZ4bcyleGCMvw2fG5EshZo7rS2OMWkG0CRJ5vQynpjFN8LJYxvOpCboKHzfQtuWXFsD8DSfllfgeW4GnmE1mpny1hHesT1CPr8BzG2uW28vE8ssaKLYFEi5BehX92EqzYmX9TOKJlqvqE6dHqoZf0O8u8j7fjkrnf9q0p5G77BEk3RUtpq6KeT+j5jQeMQlUOl5v24+44d2T3E9lfYqrAfLszNaeqQ5+0xa55UN9mV8FYytn/46rMZfA79lrnsdffdwdMTXjn/mGLR2Pz8uKGHnBrD7PszMUdXzJ/jlxz/T82N+K+kpwvMvxQsbn6IJaA6PQzzP64g8bT97ioUQgQJy/NqXjK2reWJ6qb2r/sRy4TMcyJDJGR5ABqQ04/xKKkEoDfTzvmUxRJT2PeUXQ88Z8mQCs+T9Lv6A1EDW+nZNzm0IYAJGofyU+m86rxNvzA0OUJcuBOn4cusfVUd528zDoZybwcZUgzE7Xb9mgiBV2wbmmsEXy+ngvCXxJcjenLIe3jgOft1z7UBn0JezwPAXu9EXseSytCbx2JQT2+0eF05fQYjnGq7XlhXG+MQGZj0MUxL2PqO+37NOgT9QI+QE3f055W0ZRwvZCv3le2zRUwB7ansy0Fbc8r+b6c1zztMQ045KltufhE1XrhzFn/TT9Zi9phTzz/VaEeD2fe/0c6n5zPKtic4w8qfmsXkx6sd8cLwy/D+zXmm/8k/AeQD4NPBbkGMQb5LEo1JlkjX9iKhn82Btd9DsRJlbzNvg6Nn7csjDm6YI+DJA0SnwNsFXzuo4XO8A9AHld69vlMtK4fANf+3FisU/kTLwQYQUPtNis+dFMfkILzvnvtTFKJdoJdOz3lteNPvPv67q+a137ACaJjjsp7LgV4/SrK/KkmYcF8Im9d01GONrUGHnvZwxsYv2Ese72Btwtqrd4Jkb2kX9V7RSo/7nnL2TD434Ge8jpi1eOx5xJ8lsZW94O/QH+KsN8cO1iA5A3cbzKDPnKrnpyoYVGP7Yd4zl+ccOBb58YM/xCIe/1cR6ap8bPQ29obkNwbBcdvJAYasfxQvLKDpqwTeL/fUF2w+e6dyx5kVUNDz8s2fHxnGm0iEUIx8m7d3w8pwrX+ZSn7+aZopJWIKYQjgJ5aw+68oONtXXYI9s/bq59CN0bsD7ctu/TNZe1qelYsaL86/SijL87fwvm9NWFGbeYiZU5MvPv6+BQb/Sia+rofmtzeC4PlLp5sNMhj/tJMnk8vx8IDouNdjLUh3d5dG0CUaJvHdzbIo8G0f7wYU2SmaRTzSAdlod3N3Z2n0OSKtljPZr3033yc+2EzvCk4HlCRmctLuhLiFKVp7xLfulE+/QZhK0Ym22aEdXRcHD4oMVPS9TXMqGKFLEeu6YR0/1YzZMi2RWHRYtNnkMaqb2U5uTZdZURq8/L+iFX5fuQJrv8qM/J5KXz0yM5eXJd7ZMn4Ic4meuxzlaU3uCPHmxsv1Yy6mG82AJP+jr54hR8v/C5TVtnvd0bkqPveW+o5B2dyAT1MZ/J8NSVqtqdXyNbG+3oBjnkvD38Fut7R6aWH/TTyZnrl8VN/xZX4lDeO/rp5MzIam8AI/bZhhpfNy9clWb+Xwg8riVszD23i3OB+aUVYqSLe851ePeRLez5N5fw7HL/o70/3h/vj//j8S9RSmEa:A5FD^FS");
            return sb.ToString();
        }

        ///

 
        /// 中文处理  
        ///
 
        ///

待转变中文内容  
        ///

字体名称  
        ///

旋转角度0,90,180,270  
        ///

字体高度  
        ///

字体宽度,通常是0  
        ///

1 变粗,0 正常  
        ///

1 斜体,0 正常  
        ///

返回的图片字符  
        ///  
        [DllImport("fnthex32.dll")]
        public static extern int GETFONTHEX(
            string ChineseText,
            string FontName,
            int Orient,
            int Height,
            int Width,
            int IsBold,
            int IsItalic,
            StringBuilder ReturnPicData);

        ///

 
        /// 中文处理  
        ///
 
        ///

待转变中文内容  
        ///

字体名称  
        ///

返回的图片字符重命  
        ///

旋转角度0,90,180,270  
        ///

字体高度  
        ///

字体宽度,通常是0  
        ///

1 变粗,0 正常  
        ///

1 斜体,0 正常  
        ///

返回的图片字符  
        ///  
        [DllImport("fnthex32.dll")]
        public static extern int GETFONTHEX(
                              string ChineseText,
                              string FontName,
                              string FileName,
                              int Orient,
                              int Height,
                              int Width,
                              int IsBold,
                              int IsItalic,
                              StringBuilder ReturnPicData);

    }


推荐阅读
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有