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

 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. 点击”打印条码”

三、验证数据

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

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

时间: 2024-10-08 10:17:05

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

调用codesoft,打印条码,批量连续打印,变量打印

调用codeSoft的模板,实现批量连续打印. Code: 制作标签1.lab. 添加两个变量var0,var1. using LabelManager2; string strFile = System.Windows.Forms.Application.StartupPath.ToString() + "\\1.lab"; lbl = new LabelManager2.ApplicationClass(); lbl.Documents.Open(strFile, false);/

C#程序调用CMD执行命令

在windows环境下,命令行程序为cmd.exe,是一个32位的命令行程序,微软Windows系统基于Windows上的命令解释程序,类似于微软的DOS操作系统.输入一些命令,cmd.exe可以执行,比如输入shutdown -s就会在30秒后关机.总之,它非常有用.打开方法:开始-所有程序-附件 或 开始-寻找-输入:cmd/cmd.exe 回车.它也可以执行BAT文件. 下面介绍使用C#程序调用cmd执行命令: 代码: 1 using System; 2 using System.Coll

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

参考页面: http://www.yuanjiaocheng.net/ASPNET-CORE/core-static-files.html http://www.yuanjiaocheng.net/ASPNET-CORE/setup-mvc.html http://www.yuanjiaocheng.net/ASPNET-CORE/mvc-design-pattern.html http://www.yuanjiaocheng.net/ASPNET-CORE/mvc-routing.html h

程序调用sync同步磁盘数据合适吗?

场景说明:当有大量的数据(等待写盘的数据)暂留在缓冲区中,导致内存紧张,然后一次性写入磁盘造成磁盘写入的瓶颈.为了避免这种情况的发生,当检测到程序保存大量的的数据,开始调用sync同步磁盘数据.一个糟糕的设计是将锁放在一个频繁调用函数里面. 程序调用sync同步磁盘数据合适吗?

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

这篇用来记录在些模拟Canoe生成CAN数据桢工具时遇到的问题, 生成CAN数据桢,主要分为两个关注点: 1.如何从can信号名获取到can信号的ID长度以及信号的起始位,并将信号值按照一定的规则填写进去. 2.由于FCAN进行额checksum校验和activecount的规则,这部分算法使用C/C++最好,所以设计到python程序调用C/C++代码(也就是这篇文章) 1.如何用python调用C++代码: 这个是python官方库的cytpes模块的介绍,可以关注一下“Fundamenta

图解微信小程序---调用API操作步骤

图解微信小程序---调用API操作步骤 什么是API API(Application Programming Interface,应用程序编程接口:是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节. 通俗的讲API就是接口,就是通道,负责一个程序和其他软件的沟通,本质是预先定义的函数. API通常是以Http的形式提供,它隐藏的含义就是,只要你符合我定义的标准,你就可以来使用我. 注册账号 填写注册信息 登陆 管

设计一个程序能够将某一个目录下面的所有文件名打印出来---File类的使用

,设计一个程序能够将某一个目录下面的所有文件名打印出来 运用到的方法有:返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录:list()           测试此抽象路径名表示的文件是否是一个目录:isDirectory()           返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件:listFiles() package printfilename; import java.io.File; public class PrintFileNam

通过异步程序调用(APC)实现的定时功能

定时器是一个在特定时间或者规则间隔被激发的内核对象.结合定时器的异步程序调用可以允许回调函数在任何定时器被激发的时候执行.本文的例子代码显示了如何实现. 使用本定时器时,你需要把常量_WIN32_WINNT定义为0x0400,并且此常量应该在包之前定义,以确保声明合适的定时器原型函数. 通过调用CreateWaitableTimer()可以创建一个定时器,此函数返回一个指向内核对象的句柄.若定时器已经存在,你可以通过使用 OpenWaitableTimer()获得一个进程相关的句柄.无论是通过C

Android程序猿如何泡设计妹之快速掌握dp和px才可以

相信很多Android程序猿已经对身边的设计妹垂涎三尺了,那么如何博得设计妹的好感呢,学好这篇文章就可以了. 程序猿与UI设计妹讨论设计稿和切图的时候,经常会因为dp和px的问题搞的不愉快,这里可以分析出两个原因: 1,程序猿原因,不懂dp和px的换算关系.包括我,以及我见到的大多数开发,更多的时候其实不是很关心dp和px是如何来的,以及如何转换的,只知道掌握一般情况用dp,字体大小用sp,画线用px. 2,设计妹原因,设计不出dp标注,或者甚至就不懂dp是什么东东.大多数公司并不会为Andro