当前位置: 首页 > news >正文

使用BarTender打印

/// <summary>/// BarTender列印方法2替换参数/// </summary>/// <param name="btwPath">文件路径</param>/// <param name="kvZ">参数-值对</param>/// <param name="prtName">打印机名,空则调用默认打印机</param>/// <param name="zCopies">列印份数</param>/// <returns></returns>public static bool vfPrintBtwR(string btwPath, string kvZ, string prtName, string zCopies){if (!File.Exists(btwPath)) throw new Exception("不存在模版文件" + btwPath);try{Hashtable htVV = new Hashtable();string varNam = "";string[] kvn = new string[0];int iCopies = 0;int.TryParse(zCopies, out iCopies);iCopies = Math.Max(iCopies, 1);kvZ = kvZ.Replace(",", ",").Replace(";", ",").Replace(":", ":").Trim();foreach (string kvG in kvZ.Split(',')){kvn = kvG.Split(':');if (kvn.Length < 2) continue;htVV[kvn[0].Trim().ToLower()] = kvn[1].Trim();}BarTender.Application btApp = new BarTender.Application();BarTender.Format btFmt = btApp.Formats.Open(btwPath, false, prtName);//btFmt.NumberSerializedLabels = Convert.ToInt32(1);//序列标签数,列印份数btFmt.PrintSetup.IdenticalCopiesOfLabel = iCopies; // 同样标签的份数           btFmt.PrintSetup.NumberSerializedLabels = 1; // 序列标签数     BarTender.NamedSubStrings nss = btFmt.NamedSubStrings;for (int ik = 0; ik < nss.Count; ik++){varNam = nss.GetSubString(ik + 1).Name;btFmt.SetNamedSubStringValue(varNam, "" + htVV[varNam.ToLower()]);}btFmt.PrintOut(false, false);btFmt.Close(BarTender.BtSaveOptions.btDoNotSaveChanges);//btFmt.Close(BarTender.BtSaveOptions.btSaveChanges);return true;}catch (System.Exception ex){Console.WriteLine(ex.ToString());return false;}}
        static BarTender.Application btApp;static BarTender.Format btFormat = null;static void Main(string[] args){RUN();}public static void RUN(){btApp = new BarTender.Application();try{string labelPath = @"C:\path\to\your\label.btw"; // 标签文件路径Format btFormat = btApp.Formats.Open(labelPath, false);// 设置数据btFormat.SetNamedSubStringValue("YourFieldName", "YourValue");btFormat.PrintOut();Console.WriteLine("标签打印成功。");}catch (Exception ex){Console.WriteLine($"打印失败: {ex.Message}");}finally{if (btApp != null){btApp.Quit();}}}

 GitCode - 全球开发者的开源社区,开源代码托管平台 下载地址


http://www.mrgr.cn/news/47886.html

相关文章:

  • QML学习(九) Qt Quick - Control2中的主要组件:Label组件和Button组件的属性和使用方法
  • 如何在 Spring Cloud Gateway 中创建全局过滤器、局部过滤器和自定义条件过滤器
  • ABP框架8——仓储的作用及其基础Demo
  • 基于vue框架的的校园快递管理系统x0xm0(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 【shell编程】报错信息:bash: bad file descriptor(包含6种解决方法)
  • LeetCode 64. 最小路径和
  • 国产光耦:实际应用和市场进展
  • 利士策分享,重阳节的传承及意义在哪里?
  • Linux内核编译的整体理解
  • python爬虫 - 深入正则表达式
  • 基于springboot vue 网络云端日记本系统设计与实现
  • 视频里的声音怎么单独提取出来?简单又实用的10种提取声音方法!
  • 如何在建设 DataOps 体系中选择合适的工具或平台?
  • AI大模型源码解析|打造你的专属GitHub智能答疑助手!
  • GEE数据集:美国玉米、大豆和冬小麦 QDANN 30m 产量图/数据集
  • k8s 1.28.2 集群部署 MinIO 分布式集群
  • 从零开始:手把手教你构建Vue + TypeScript全栈项目
  • Pandas处理时间序列之光谱分析与聚类
  • 诺贝尔物理学奖首次颁给机器学习与神经网络:科技融合的新篇章
  • C++刷怪笼(7)string类
  • java中HashMap扩容机制详解(扩容的背景、触发条件、扩容的过程、扩容前后的对比、性能影响、数据重分配策略、优化建议)
  • MySQL存储JSON
  • 修改PostgreSQL表中的字段排列顺序
  • KVM虚拟化技术
  • C++基础面试题 | 什么是内存对齐?为什么需要内存对齐?
  • 头戴式耳机哪个品牌音质好?高品质百元头戴式耳机推荐榜单