C#控制Bartender自动列印的2种方法(附源码) | 您所在的位置:网站首页 › bartender打印机没反应 › C#控制Bartender自动列印的2种方法(附源码) |
目录 前言 一、安装CutePDF Writer 二、安装BarTender 三、C#控制BarTender的2种方法 方法1: 方法2: 代码仓库地址 总结 前言 由于BarTender简单易用、兼容设备多,自制标签方便,在工厂受到了广泛使用;特别是BarTender自动化之后,在企业内部起着提升效率、防呆防错的作用。下面带大家了解C#控制BarTender的过程: 一、安装CutePDF Writer CutePDF Writer可以将文字、图片、标签列印成PDF格式的文件,与打印机列印的效果是一致的,这里用它来模拟打印机。到官网下载:https://www.cutepdf.com/index.htm,下载好后进行安装。 一路点Next,最后安装完成。操作系统设置CutePDF Writer为首选列印机 ,CutePDF Writer设置完成。 二、安装BarTender 由于BarTender最新的版本不支持试用,所以这里下载2016的版本演示,下载地址为:https://www.bartender.hk/bartender-download 安装界面选择中文(简体) 选择试用版,土豪的小伙伴可以选择企业版或者自动化版,哈哈哈 打开BarTender,按照下面步骤创建标签,最后点击完成。 标签添加1个条码和1个文本,保存为test.btw的档案 回到BarTender,按Ctrl+P键打开列印窗口,点击打印开始列印标签 因为之前设置操作系统的默认列印机为CutePDF Writer,所以点打印之后会自动将标签存为PDF,存放路径自行选择。 打开PDF文件查看效果,BarTender部分到此 三、C#控制BarTender的2种方法 方法1: 与标签文件同一目录下创建param.txt文件,内容编辑为20220724,Made In Thailand;稍后会用到。鼠标右键条码选择属性,操作参考下图步骤 数据库连接设置-->文本文件-->下一步 按照下图填入txt档案的路径,点下一步 分隔符选择逗号“,”,点下一步直到完成 条码选择字段1,然后点关闭,条码设置完成 文字鼠标右键选择属性-->选择字段2-->关闭,文字设置完成 用C#写代码(这段代码VB、Java也可套用),然后运行程序 点击”列印方法1“按钮
验证结果,序号和产地都是对的! 附上完整代码 ,第1个方法完成! using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace BarTenderDemo { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { string path = AppDomain.CurrentDomain.BaseDirectory; string serialNumber = textBox1.Text; string origin = textBox2.Text; using (StreamWriter stream = new StreamWriter(path + "\\param.txt")) { stream.Write(serialNumber + "," + origin); } string filePath = path + "\\test.btw"; PrintMethod1(filePath, "1"); } private void button2_Click(object sender, EventArgs e) { } /// /// BarTender列印方法1 /// /// 文件路径 /// 列印份数 public void PrintMethod1(string destFilePath, string copies) { Process p = new Process(); p.StartInfo.FileName = "bartend.exe"; //列印btw檔案並最小化程序 p.StartInfo.Arguments = $@"/AF={destFilePath} /P /min=SystemTray"; p.EnableRaisingEvents = true; int pageCount = Convert.ToInt32(copies); for (int i = 0; i < pageCount; i++) { p.Start(); } } } } 方法2: 将之前btw文件复制在当前资料夹,文件命名为test02.btw 打开test02.btw文件,条码的名称、类型、嵌入的数据按照下图修改,关闭,保存文字的名称、类型、嵌入的数据按照下图修改,关闭,保存 运行程序,点击”列印方法2“按钮执行 验证结果,序号和产地验证通过! 附上完整代码 ,第2个方法完成! using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace BarTenderDemo { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { string path = AppDomain.CurrentDomain.BaseDirectory; string serialNumber = textBox1.Text; string origin = textBox2.Text; using (StreamWriter stream = new StreamWriter(path + "\\param.txt")) { stream.Write(serialNumber + "," + origin); } string filePath = path + "\\test.btw"; PrintMethod1(filePath, "1"); } private void button2_Click(object sender, EventArgs e) { string serialNumber = textBox1.Text; string origin = textBox2.Text; string filePath = AppDomain.CurrentDomain.BaseDirectory + "\\test02.btw"; PrintMethod2(filePath, "2", serialNumber, origin); } /// /// BarTender列印方法1 /// /// 文件路径 /// 列印份数 public void PrintMethod1(string destFilePath, string copies) { Process p = new Process(); p.StartInfo.FileName = "bartend.exe"; //列印btw檔案並最小化程序 p.StartInfo.Arguments = $@"/AF={destFilePath} /P /min=SystemTray"; p.EnableRaisingEvents = true; int pageCount = Convert.ToInt32(copies); for (int i = 0; i < pageCount; i++) { p.Start(); } } /// /// BarTender列印方法2 /// /// 文件路径 /// 列印份数 /// 序号 /// 产地 public void PrintMethod2(string destFilePath, string copies, string serialNumber, string origin) { BarTender.Application btApp = new BarTender.Application(); BarTender.Format btFormat = btApp.Formats.Open(destFilePath, false, ""); btFormat.NumberSerializedLabels = Convert.ToInt32(copies);//序列标签数 btFormat.SetNamedSubStringValue("serialNumber", serialNumber);//条码 btFormat.SetNamedSubStringValue("origin", origin);//文字 btFormat.PrintOut(false, false); btFormat.Close(BarTender.BtSaveOptions.btSaveChanges); } } } 代码仓库地址 github:https://github.com/CaoShangXi/BarTenderDemo.git gitee:https://gitee.com/cao-fuzhou/BarTenderDemo.git 总结文章介绍了C#控制BarTender的2种方法,希望能给大家提供帮助,如需更高阶功能请参阅官方帮助文档。 喜欢的小伙伴,请动动小手给个star哦,也欢迎提出更好的方法! |
CopyRight 2018-2019 实验室设备网 版权所有 |