斑马打印机,发送指令到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("端口未打开!");
}
}
请各位帮忙看看如何解决这个问题。
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("端口未打开!");
}
}
请各位帮忙看看如何解决这个问题。
...全文
相关推荐
C#调用斑马打印机打印条码标签
C#调用斑马打印机打印条码标签(支持COM、LPT、USB、TCP连接方式和ZPL、EPL、CPCL指令),好久没来CSDN了,把源码开放给大家参考,编译环境需要安装微软报表组件。
控制斑马打印机打印条码标签.rar
控制斑马打印机打印条码标签.rar
Java使用Zpl调用斑马打印机
Java使用Zpl命令调用斑马打印机,简单明了,运行可用,
c#控制斑马Zebra打印机源码
自己开发的一套环境调用ZPL命令控制斑马打印机的源码demo,开发环境vs2010 .net4.0,,支持中文打印、条码打印
labview调用BarTender打印标签(斑马打印机)
最近在项目遇到需要调用斑马打印机打印产品标签,本人使用labview开发组态,目前网络资源都是使用命令管理器调用EXE来实现打印,这种方式对于程序灵活性不强,在网上查找资料labview调用只有一个是用C#二次封装类库的形式来实现,不喜欢。故参考C#调用Interop.BarTender.dll里面的方法和属性通过构造节点来实现labview直接调用标签打印机打印。 ———————————————— 版权声明:本文为CSDN博主「熊猫,非黑即白」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/weixin_42565035/article/details/125310398


