程序界面说明
文字标签设计
条码标签设计
日期标签设计
打印机设置
C# 调用Sample
public static Dictionary<string, ApplicationClass> userLB = new Dictionary<string, ApplicationClass>();
private string LabelPrint(DataTable dt)
{
ApplicationClass lb = new ApplicationClass();
string result = null;
string LabelName = Lab_LabelName.Text.Trim();
try
{
InitLabel(lb, LabelName);
if (!userLB.ContainsKey(this.Name))
{
userLB.Add(this.Name, lb);
}
}
catch
{
return "ERR: LabelFile异常,请联系管理员!";
}
try
{
int RowQty = Convert.ToInt16(Lab_LabelRowQty.Text.Trim());//一行几个 VarRowQty
int LabelQty = Convert.ToInt16(Lab_LabelQty.Text.Trim()); ;//一式几份
string SN = "";
for (int i = 0; i < dt.Rows.Count; i = i + RowQty)
{//标签一行几个,就产生几个变量
for (int j = 0; j < RowQty; j++)
{
string SNX = "SN" + Convert.ToString(j + 1);
SN = dt.Rows[i + j]["SERIAL_NUMBER"].ToString();
lb.ActiveDocument.Variables.FormVariables.Item(SNX).Value = SN;
}
for (int n = 0; n < LabelQty; n++)
{
result = PrintLabel(lb);
if (result.Contains("ERR"))
{
return result;
}
Thread.Sleep(10);//每打印一行暂停10毫秒
}
}
}
catch
{
return "ERR:LabelFile异常,请联系管理员!";
}
//釋放Label
lb.Documents.CloseAll();
lb.Quit();//退出
lb = null;
GC.Collect(0);
return result;
}
public static void InitLabel(ApplicationClass lb, string eLableName)
{
string filePath = string.Empty;
if (lb.Documents.Count != 0)
{
lb.Documents.CloseAll(false);
}
string path = System.Windows.Forms.Application.StartupPath + @"\Lab\";
filePath = path + eLableName.Replace('/', '_');
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
if (!File.Exists(filePath))
{
string path2 = @"\\LabelServerIP\Label\";
filePath = path2 + eLableName;
if (!File.Exists(filePath))
{
MessageBox.Show("Label文件不存在!" + filePath);
return;
}
}
try
{
lb.Documents.Open(filePath, false);
lb.EnableEvents = true;
}
catch
{
MessageBox.Show("读取Lab文件出错!");
GC.Collect();
}
}
public static string PrintLabel(ApplicationClass lb)
{
try
{
int i2 = lb.ActiveDocument.PrintDocument(1);
if (i2 != 1)
{
return "Print Fail!";
}
}
catch (Exception ex)
{
return "ERR:请确认打印机连接好或选择打印机然后在打印!" + ex.Message;
}
return "Print OK!";
}