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. sonarqube插件开发(一) 环境搭建

    1. 下载Docker容器 # 最新版本镜像 docker pull sonarqube # 长期支持版镜像 docker pull sonarqube:lts 2. 将已有的插件导出(使用docke ...

  2. Eclipse导入现有项目

    针对一些新手内容 1.Eclipse 打开一个项目 第一步File-->Import导入 第二步:选择导入类型 第三步选择文件路径,点击Browse... 注意下面细红框选项,根据需要勾选 第四 ...

  3. 总结-eclipse

    1.eclipse的workspace历史记录 打开eclipse/configuration/.settings/org.eclipse.ui.ide.prefs,把RECENT_WORKSPACE ...

  4. 看懂SqlServer查询计划【转】

    原文链接:http://www.cnblogs.com/fish-li/archive/2011/06/06/2073626.html 开始 SQL Server 查找记录的方法 SQL Server ...

  5. How to inspect who is caller of func and who is the class of instance

    1. Who is the class of self instance ? class aa(object): def a(self): if self.__class__.__name__ == ...

  6. Spring整理

    Bean配置 1. <context:component-scan base-package="com.test" />这个包下的Spring注解才有效 属性文件自动解 ...

  7. JS笔记一

    最近有时间,觉得应该整理一下,额,就从很久之前的基础开始吧,正好也巩固下,菜鸟需要扎实基础. 下面是一个简单的调查表,因为没有写任何样式,所以就是简单的表单输入框之类的.选择“男”或者“女”时,会出现 ...

  8. mysql 在cento下源码安装

    虚拟机改为网络地址转换 (NAT) service network restartping www.baidu.com rpm -qa | grep mysql 有的话通过下面的命令来卸载掉 rpm ...

  9. WireShar使用笔记

    1.下载wiresharp  官网下载 2.安装 安装后直接支持中文 很人性化哦 注意:一定要安装WinPcap 不然无法使用 3.

  10. .net资源链接

    http://aspalliance.com/ http://www.hotscripts.com/ http://www.dotnet247.com http://stackoverflow.com ...