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. PHP 数组的拷贝是按值传递 or 按引用传递

    在记忆中 PHP 简单变量的拷贝是按值传递,数组和对象的拷贝是按引用传递,即通过引用来实现. 简单变量和对象好理解: <?php // 简单变量的拷贝 $a = 'human'; $b = $a ...

  2. Java Basic - Generics

    什么是类型擦除? 类型擦除指的是通过类型参数合并,将泛型类型实例关联到同一份字节码上.编译器只为泛型类型生成一份字节码,并将其实例关联到这份字节码上.类型擦除的关键在于从泛型类型中清除类型参数的相关信 ...

  3. Mock之easymock, powermock, and mockito

    easymock, powermock, and mockito Easymock Class Mocking Limitations To be coherent with interface mo ...

  4. yii2使用相关记录

    #Yii::$app->user 是指yii\web\User这个类 #yii2在命令行下执行 D: cd D:\wnmp\php5 php D:\wnmp\www\yii2\yii test/ ...

  5. 来回切换页面并关闭其他tab

    要下班了,就先把这个方法copy上来.反正自己能看懂. public void checkSchemaDetail(String logext, String expectRes){ String c ...

  6. 一个修改过简化版的InputQuery

    主要是觉得在单输入的情况下, 原来InputQuery输入框左边的文本太难看了...... function _InputQuery(const ACaption: string; const APr ...

  7. Springboot数据库连接池报错的解决办法

    Springboot数据库连接池报错的解决办法 这个异常通常在Linux服务器上会发生,原因是Linux系统会主动断开一个长时间没有通信的连接 那么我们的问题就是:数据库连接池长时间处于间歇状态,导致 ...

  8. PostgreSQL windows service启动失败

    from: http://stackoverflow.com/questions/1251233/unable-to-run-postgresql-as-windows-servicepg_ctl - ...

  9. Scipy - Python library - Math tool - Begin

    Introduction Scientific Computing Tools for Python. Seen in Scipy.org. Environment Linux, CentOS 7 w ...

  10. golang print struct with key

    https://play.golang.org/p/YMfpuluzef 判断结构体是否为空 打印带attribute(key) 的结构体 package main import ( "fm ...