首页 > 编程语言 >c#调用Bartender标签模板打印

c#调用Bartender标签模板打印

时间:2023-11-15 17:48:36浏览次数:39  
标签:BarTender string c# 标签 打印 Bartender 模板 btFormat

Bartender标签打印软件挺好用的,模板可视化,参数也好调整,我用的是这个版本

 

先在电脑上装好Bartender软件

然后在VS项目中,添加引用 ,选择COM组件,搜索Bartender,确定引用BarTender 10.1

 

在项目中创建BarTenderPrint类

   /// <summary>
    /// 打印标签类
    /// </summary>
    public class BarTenderPrint
    {
        /// <summary>
        /// 打开标签文件
        /// </summary>
        public static BarTender.Application btApp = new BarTender.Application();

        /// <summary>
        /// BarTender运行软件
        /// </summary>
        public static BarTender.Format btFormat = new BarTender.Format();


        /// <summary>
        /// 打印
        /// </summary>
        /// <param name="printerName">打印机名称</param>
        /// <param name="btFileName">打印文件</param>
        /// <param name="dict">内容字典</param>
        /// <param name="CopiesOfLabel">打印数量</param>
        public static bool Print(string printerName, string btFileName, Dictionary<string, string> dict, int CopiesOfLabel)
        {
            try
            {
                btFormat = btApp.Formats.Open(btFileName);
                btFormat.PrintSetup.Printer = printerName;
                btFormat.IdenticalCopiesOfLabel = CopiesOfLabel;
                foreach (var item in dict)
                {
                    btFormat.SetNamedSubStringValue(item.Key, item.Value);
                }
                btFormat.PrintOut(false, false);
                //不保存标签退出
                btFormat.Close(BarTender.BtSaveOptions.btDoNotSaveChanges);
                return true;
            }
            catch (Exception ex)
            {
                MessageBox.Show("【打印机"+ printerName+"】", ex.Message);
                return false;
            }
            
        }
    }

 

调用打印函数

                  bool Falg = false;

            string barcode = "035838223A05003W";
            string rohsLabel = "EXS 0040kTH16FN01U22";
            string itemVersion = "0";
            string itemModel = "E3";
            string factoryCode = "R6";

                    //传递打印内容,Key-Vaule

                  Dictionary<string, string> dic = new Dictionary<string, string>()
                     {
                            {"QRcode128",barcode},
                            {"ITEM",itemModel},
                            {"Version",itemVersion },
                            {"ROHS",rohsLabel },
                            {"Producer",factoryCode }
                     };

                  Flag = BarTenderPrint.Print("SN", GlobalValue.SNPrintPath, dic, 1);//表示有一个名称为SN的打印机,然后打印模板的路径,打印内容,打印数量

 

打印模板这样设置

 需要注意的是,如果要将内容值可更改,那么就要给标签对象改一个名称

 

 

 

 

 

标签:BarTender,string,c#,标签,打印,Bartender,模板,btFormat
From: https://www.cnblogs.com/wl192/p/17834372.html

相关文章

  • ABAP使用异步远程RFC实现并行处理
    1、使用场景当开发复杂报表,需要处理大量数据,不管怎么优化计算和查询语句,程序的运行效率还是达不到用户要求,怎么办?为了解决这个问题,就需要程序实现并行处理。本文档就是通过异步调用远程RFC的办法,实现对大量数据的计算,以并行的方式,更快的计算出最终结果。2、代码实现在实现并......
  • SpringBean生命周期之PostConstruct、PreDestroy详解
    @PostConstruct less复制代码@Documented@Retention(RUNTIME)@Target(METHOD)public@interfacePostConstruct{}该注解只能作用于方法上,执行依赖注入后执行任何初始化操作。必须在类投入服务之前调用此方法。应用PostConstruct的方法可以是公共的、受保护的......
  • Python:dcm转jpg脚本
    importpydicomfromPILimportImageimportnumpyasnpimportosdefconvert_dicom_to_jpeg(dicom_file_path,output_folder):#读取DICOM文件dicom_file=pydicom.dcmread(dicom_file_path)#将DICOM数据转换为numpy数组image_array=dicom_file......
  • python tkinter treeview 仿 excel表格
    代码:fromtkinterimportttkfromtkinterimport*root=Tk()#初始框的声明columns=("姓名","IP地址")treeview=ttk.Treeview(root,height=18,show="headings",columns=columns)#表格treeview.column("姓名",width=100,a......
  • SQLSERVER 2016新建订阅,连接发布服务器时报错“设置连接字符串后无法更改或读取属性 P
    被此问题困扰许久,查遍全网也没有查到合适的解决方案。特此记录,希望帮到需要的人。SQLSERVER2016新建订阅,连接发布服务器时报错“设置连接字符串后无法更改或读取属性Password。(Microsoft.SqlServer.ConnectionInfo)”===================================设置连接字符串......
  • cJSON简介
    CJSON简介官网下载cJSONdownload|SourceForge.netgithubclone地址:https://github.com/yegeli/cJSON.gitgiteeclone地址:https://gitee.com/yegeli/cJSON.git核心内容cJSON旨在成为一个可以应用在工作中的低门槛json解析器。该项目包含一个.c文件,和一个.h文件。对JSO......
  • (十九)C#编程基础复习——交错数组
    C#中的交错数组其实就是元素为数组的数组,换句话说就是交错数组中的每个元素都可以是维度和大小不同的数组,所以有时交错数组也称为“数组的数组”。这一节比较复杂,用到的时候可以再深入挖掘,多敲代码练习总会出奇迹。一、声明交错数组交错数组声明语法:data_type[][]array_name;......
  • 【你不知道的JavaScript】this关键字
    没有this时,需要传入上下文获取name,在多个上下文时,代码变得繁杂重复varme={name:"Kyle"};varyou={name:"Reader"};functionidentify(context){returncontext.name.toUpperCase();}functionspeak(context){vargreeting="Hello,I&......
  • chatglm3-6b尝试
    十月底智谱开元路chatglm3,果断来尝试一下。1.ChatGLM3亮点ChatGLM3是智谱AI和清华大学KEG实验室联合发布的新一代对话预训练模型。ChatGLM3-6B是ChatGLM3系列中的开源模型,在保留了前两代模型对话流畅、部署门槛低等众多优秀特性的基础上,ChatGLM3-6B引入了代码执行(Code......
  • CreateCollection API执行流程_milvus源码解析
    CreateCollectionAPI执行流程源码解析milvus版本:v2.3.2CreateCollection这个API流程较长,也是milvus的核心API之一,涉及的内容比较复杂。这里只介绍和元数据相关的流程。整体架构:CreateCollection的数据流向:1.客户端sdk发出CreateCollectionAPI请求。frompymilvusimp......