C#控制Bartender自动列印的2种方法(附源码) 您所在的位置:网站首页 bartender打印机没反应 C#控制Bartender自动列印的2种方法(附源码)

C#控制Bartender自动列印的2种方法(附源码)

2024-01-20 06:35| 来源: 网络整理| 查看: 265

目录

前言

一、安装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 实验室设备网 版权所有