小插头打印方法

来源:互联网 发布:北京php培训 编辑:程序博客网 时间:2024/04/28 21:33

                    string strlabel = getlabeltxt();
                    if (!serialPort1.IsOpen)
                    {
                        serialPort1.Open();
                    }
                    strlabel = strlabel.Replace("Number", NO);
                    this.serialPort1.Write(strlabel);
                    System.Threading.Thread.Sleep(200);//0.2second
                    serialPort1.Close();

[ 使用LABEL MATRIX 7 v7.02.02 软件画一张LABEL 然后保存为txt格式文本,装进数据库 得到txt of the label] 

// can get txt of the label
// eg:  ^XA  ^MCY  ^XZ  ^XA  ^FWN^CFD,24^PW918^LH0,0  ^CI0^PR2^MNY^MTT^MMT^MD0^PON^PMN^LRN  ^XZ 

//^XA  ^LRN  ^ADN,36,20^FO264,175^FDNumber^FS  ^BY3^FO223,406^BCN,102,Y,N,Y^FD>:>8Number^FS  ^PQ1,0,1,

//Y  ^XZ
        private string getlabeltxt()
        {
            string strSQL = "SELECT COMMENT FROM LABEL WHERE TYPE='Numberlabel'";
            DataTable dt = ReadTable(strSQL);
            return dt.Rows[0][0].ToString();
        }

 

小插头的打印只能支持COM口打印

 

下面是基于IP打印的代码:

    private System.Net.Sockets.Socket s = null;
        public void PrintLabelIP(string strIP, string strPort)
        {

            strPort = "9100";
            IPEndPoint hostEndPoint = new IPEndPoint(IPAddress.Parse(strIP), Convert.ToInt32(strPort));
            s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            s.Connect(hostEndPoint);
            if (!s.Connected)
            {
                MessageBox.Show("Not Connected");
            }
            else
            {
                StreamReader sr = new StreamReader(@"c:/TmpLabFile.txt", Encoding.UTF8);
                string strlabel = sr.ReadToEnd();
                sr.Close();


                Byte[] data = Encoding.UTF8.GetBytes(strlabel);
                s.Send(data, data.Length, 0);       //发送数据文件
                if (s.Connected)
                    s.Close();
            }

        }