首页 » .NET » 佳博LabelShop模板文件转成佳博打印机指令软件

佳博LabelShop模板文件转成佳博打印机指令软件

原文 http://blog.csdn.net/hhf15980873586/article/details/78134381

2017-09-29 17:20:11阅读(607)

因公司需要,购买佳博标签打印机一台(GP1124T),用于打印大小标签。

机器刚到手时,搜了很多打印的方式,但打印的效果都不佳,有模糊不清晰,反而用机器的指令打印效果就不错,但询问他们的技术,他们公司提供的LabeShop软件制作的标签没办法直接用指令发送去打印,要打印还得一条条指令的敲。虽然敲起来也不麻烦,但考虑到日后标签更改维护、增加模板等问题,还是决定做一个指令生成软件(也方便以后没看过指令的人生成模板导进机器,也方便自己以后开发,主要还是因为最近比较闲~)。实现的平台是winform,用的C#解析lsdx(本质上就是xml文件),把数据一个个抓出来然后填到指令里面,然后指令整合起来就是一个模板,然后把模板下载进机器,以后要使用的时候Run模板,然后加几条填数据的指令再打印就OK了。


展示部分代码:


 //Bar就是画线,此函数获取模板中所有的线(仅限直线,斜线需另写)
        private void GetBar()
        {
            XmlNodeList barNodeList = m_xmdDoc.SelectNodes("/labelshopdocument/labelform/labellayer/labelobjects/drawobj[@type='drawline']");
            foreach (XmlNode bxn in barNodeList)
            {
                int left = Convert.ToInt32(bxn.Attributes["left"].Value);
                int top = Convert.ToInt32(bxn.Attributes["top"].Value) ;
                int right = Convert.ToInt32(bxn.Attributes["right"].Value);
                int bottom = Convert.ToInt32(bxn.Attributes["bottom"].Value);
                int linewidth = Convert.ToInt32(bxn.SelectSingleNode("./line").Attributes["linewidth"].Value) ;
                BarInfo bar = new BarInfo();
                bar.X = IntToDPI(left);
                bar.Y = IntToDPI(top);
                if (right - left == linewidth)
                { 
                    bar.Width = IntToDPI( linewidth)   ;
                    bar.Heigh = IntToDPI(bottom - top) ;
                }
                else
                {
                    bar.Width = IntToDPI(right - left);
                    bar.Heigh = IntToDPI(linewidth);
                } 
               // this.BarList.Add(bar);
                this.ICommandList.Add(bar);
            }
        }


这是界面图,极其简陋

佳博LabelShop模板文件转成佳博打印机指令软件



试了一下打印的效果跟LabelShop差不多,有些参数是写死的,并不全是靠抓的,因为一早上看xml看的头晕晕的懒得弄了

软件还会不断根据我的需求完善,毕竟就我一个人再用。有需要的可以留言

最新发布

CentOS专题

关于本站

5ibc.net旗下博客站精品博文小部分原创、大部分从互联网收集整理。尊重作者版权、传播精品博文,让更多编程爱好者知晓!

小提示

按 Ctrl+D 键,
把本文加入收藏夹