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();
}
}