斑马打印机,发送指令到COM口的,打印间隔时间太长,请各位帮忙解决。
现在遇到两个问题
1、使用斑马打印机,每次读取txt的模版文件,在后台代码更改模版文件中的变量值,在将这个指令发送到COM口,例如,我有是个订单号码需要打印,首先读取数据文件,获取10个数据的数组,遍历一遍,每遍历一条记录就像COM口发送指令,十个号码连续打印时,打印完第一个再打第二个的时候要很长的时间间隔。我的代码如下:
public static Boolean PrintNMCode(string NMCode)//打印内码
{
FileStream stream1;
StreamReader reader1;
string str;
if (!Open())
{
MessageBox.Show("未能连接打印机,请确认打印机是否安装正确并接通电源。", "错误信息");
return false;
}
try
{
stream1 = new FileStream(System.Windows.Forms.Application.StartupPath + "\\NM.prn", FileMode.Open, FileAccess.Read);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
return false;
}
reader1 = new StreamReader(stream1, Encoding.Default);
try
{
while (reader1.Peek() >= 0)
{
str = reader1.ReadLine();
str = str.Replace("&TXTBarCode&", NMCode);
Write(str);
}
MessageBox.Show("已发送打印指令");
}
catch (Exception ex)
{
MessageBox.Show(ex.Source + ":" + ex.Message, "错误信息");
stream1.Close();
reader1.Close();
return false;
}
stream1.Close();
reader1.Close();
if (!Close())
{
return false;
}
return true;
}
public static bool Write(string Mystring)
{
if (iHandle != -1)
{
int i;
OVERLAPPED x;
byte[] mybyte = System.Text.Encoding.Default.GetBytes(Mystring);
return WriteFile(iHandle, mybyte, mybyte.Length, out i, out x);
}
else
{
throw new Exception("端口未打开!");
}
}
请各位帮忙看看如何解决这个问题。