if (this.tbSetLabel.Text.Trim() == "")
{
MessageBox.Show("请先 Enter 选择标签模板文件!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
this.tbSetLabel.Focus();
return;
} int VarTag = 0;
if (tbVar0.Text.Trim() != "")
{
VarTag++;
}
if (tbVar1.Text.Trim() != "")
{
VarTag++;
}
if (tbVar2.Text.Trim() != "")
{
VarTag++;
}
if (tbVar3.Text.Trim() != "")
{
VarTag++;
}
if (VarTag <= 0)
{
MessageBox.Show("最少必须配置一个标签变量,请重新配置!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
this.tbVar0.Focus();
return;
}
else
{
if (MessageBox.Show("您本次配置了 " + VarTag + "个 标签变量,请确认与您事先设计好的标签模板变量数量相同?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
LabelManager2.Application labelapp = new LabelManager2.Application(); //创建lppa.exe进程
try
{
string strPath = System.Windows.Forms.Application.StartupPath + "\\" + tbSetLabel.Text.Trim();
labelapp.Documents.Open(strPath, false);
LabelManager2.Document labeldoc = labelapp.ActiveDocument; if (VarTag == 1)
{
labeldoc.Variables.FormVariables.Item("var0").Value = tbVar0.Text.Trim();
}
if (VarTag == 2)
{
labeldoc.Variables.FormVariables.Item("var0").Value = tbVar0.Text.Trim();
labeldoc.Variables.FormVariables.Item("var1").Value = tbVar1.Text.Trim();
}
if (VarTag == 3)
{
string Var0 = "AB3R 7003 AG";
this.tbVar0.Text = Var0;
labeldoc.Variables.FormVariables.Item("var0").Value = Var0; string Var1 = "FFTB0212" + DateTime.Now.ToString("yyMMddHHmmss");
this.tbVar1.Text = Var1;
labeldoc.Variables.FormVariables.Item("var1").Value = Var1; labeldoc.Variables.FormVariables.Item("var2").Value = tbVar2.Text.Trim();
}
if (VarTag == 4)
{
//dataGridView1.Rows.Add(Var0);
//labeldoc.Variables.FormVariables.Item("var0").Value = dataGridView1.Rows[0].Cells[0].Value.ToString(); labeldoc.Variables.FormVariables.Item("var0").Value = tbVar0.Text.Trim();
labeldoc.Variables.FormVariables.Item("var1").Value = tbVar1.Text.Trim();
labeldoc.Variables.FormVariables.Item("var2").Value = tbVar2.Text.Trim();
labeldoc.Variables.FormVariables.Item("var3").Value = tbVar3.Text.Trim();
} string sql = "insert into BarCode_PrintRecord(BarCode0,BarCode1,BarCode2,BarCode3,CreatePerson,CreateDate) values (' " + tbVar0.Text.Trim() + " ','" + tbVar1.Text.Trim() + "','" + tbVar2.Text.Trim() + "','" + tbVar3.Text.Trim() + "','',GETDATE())";
SqlHelper.ExecuteNonQuery(sql); labeldoc.PrintDocument(); //打印一次
labeldoc.FormFeed(); //结束打印 labeldoc.Close(true); MessageBox.Show("\"打印条码\"完成!");
}

  

条码打印程序操作说明

(C#程序调用CodeSoft预先设计好的标签模块实现打印功能)

  1. 安装 CODESOFT 7 Enterprise
  2. 安装 条码打印机驱动程序

3.  安装 .NET Framework 4.5.2

4.  安装SQL Server 2008及以上版本,执行生成相应表脚本

以下以“南昌D4”项目为例演示:

一、设计条码模板(CODESOFT)

Var0、Var1、Var2共3个变量

设计好后 保存到 条码打印程序的根目录

二、打印条码

  1. 选择事先设计好的模板
  2. 配置标签变量(标签变量数量和模板数量相同)
  3. 点击”打印条码”

三、验证数据

查看对应表是否生成条码成功

查看打印机是否打印条码成功

C#程序调用CodeSoft预先设计好的标签模块实现打印功能的更多相关文章

  1. C# - WinFrm应用程序调用SharpZipLib实现文件的压缩和解压缩

    前言 本篇主要记录:VS2019 WinFrm桌面应用程序调用SharpZipLib,实现文件的简单压缩和解压缩功能. SharpZipLib 开源地址戳这里. 准备工作 搭建WinFrm前台界面 添 ...

  2. C# 标签(条码)的打印与设计(一)

    C# 标签(条码)的打印与设计(一) C# 标签(条码)的打印与设计(二) 总结:自定义设计条码器.

  3. 架构设计:一种远程调用服务的设计构思(zookeeper的一种应用实践)

    在深入学习zookeeper我想先给大家介绍一个和zookeeper相关的应用实例,我把这个实例命名为远程调用服务.通过对这种应用实例的描述,我们会对zookeeper应用场景会有深入的了解. 远程调 ...

  4. 架构设计:远程调用服务架构设计及zookeeper技术详解(下篇)

    一.下篇开头的废话 终于开写下篇了,这也是我写远程调用框架的第三篇文章,前两篇都被博客园作为[编辑推荐]的文章,很兴奋哦,嘿嘿~~~~,本人是个很臭美的人,一定得要截图为证: 今天是2014年的第一天 ...

  5. C#之VS2010ASP.NET页面调用Web Service和winform程序调用Web Service

    一:用ASP.NET调用Web Service 打开VS2010,打开“文件-新建-网站”,选择“ASP.NET网站” 选好存储位置,语言后点击确定,进入默认页面.然后先添加Web引用,把WebSer ...

  6. 【ASP.NET Web API教程】3.3 通过WPF应用程序调用Web API(C#)

    原文:[ASP.NET Web API教程]3.3 通过WPF应用程序调用Web API(C#) 注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本博客文章,请先看前面的 ...

  7. 【原】Java程序调用远程Shell脚本

    此程序的目的是执行远程机器上的Shell脚本. [环境参数]远程机器IP:192.168.234.123用户名:root密码:rootShell脚本的路径:/home/IFileGenTool/Bak ...

  8. c#Winform程序调用app.config文件配置数据库连接字符串 SQL Server文章目录 浅谈SQL Server中统计对于查询的影响 有关索引的DMV SQL Server中的执行引擎入门 【译】表变量和临时表的比较 对于表列数据类型选择的一点思考 SQL Server复制入门(一)----复制简介 操作系统中的进程与线程

    c#Winform程序调用app.config文件配置数据库连接字符串 你新建winform项目的时候,会有一个app.config的配置文件,写在里面的<connectionStrings n ...

  9. python程序调用C/C++代码

    这篇用来记录在些模拟Canoe生成CAN数据桢工具时遇到的问题, 生成CAN数据桢,主要分为两个关注点: 1.如何从can信号名获取到can信号的ID长度以及信号的起始位,并将信号值按照一定的规则填写 ...

随机推荐

  1. true_kb

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. C# 程序实现功能目录

    1.根据年月日获取 星期几  http://www.cnblogs.com/liwp/p/5943226.html 2.json对象转换为泛型集合 http://www.cnblogs.com/liw ...

  3. 《Linux内核分析》期末总结

    Linux内核设计期中总结 版权声明:本文为博主原创文章,未经博主允许不得转载. 前八周博客汇总及总结 Linux内核设计第一周——从汇编语言出发理解计算机工作原理 我们学习了汇编语言的基础知识,这一 ...

  4. Qt字符串类——3.字符串的转换

    (1)QString::toInt()函数将字符串转换为整型数值,类似的函数还有toDouble().toFloat().toLong().toLongLong()等.下面举个例子说明其用法: QSt ...

  5. ExpandoObject动态类生成属性转json

    using System; using System.Collections; using System.Collections.Generic; using System.Collections.O ...

  6. python正则

    1.. 匹配任意除换行符"\n"外的字符:2.*表示匹配前一个字符0次或无限次:3.+或*后跟?表示非贪婪匹配,即尽可能少的匹配,如*?重复任意次,但尽可能少重复:4. .*? 表 ...

  7. 【转载】LR提交JSON格式的请求

    需求: 测试一个“修改用户铜板”的接口,这个接口接收JSON格式的请求,返回JSON格式的结果: 必须用PUT方式提交请求: 提交内容:  {"method":"modi ...

  8. RDIFramework.NET框架Web中datagrid与treegrid控件自动生成右键菜单与列标题右键菜单

    在实际应用中常可以看到数据展示控件有右键菜单的功能,对应的列标题也可以右键弹出快捷菜单设置指定列的显示与隐藏等功能.在我们的RDIFramework.NET Web框架中,只要是使用了EasyUI的D ...

  9. mongo3.2

    arbiter配置文件 processManagement: fork: true net: bindIp: 172.16.10.1,127.0.0.1 port: storage: dbPath: ...

  10. 使用EF Oracle实现DevExpress绑定大数据的ServerMode模式

    前提:需要引入EntityFramework组件,注意几个使用点后使用上其实比较简单. 一.引入Oracle EF支持组建 1.可手动引入附件中的DLL(需手动合并web.config配置) 2.也可 ...