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){}/// <summary>/// BarTender列印方法1/// </summary>/// <param name="destFilePath">文件路径</param>/// <param name="copies">列印份数</param>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);}/// <summary>/// BarTender列印方法1/// </summary>/// <param name="destFilePath">文件路径</param>/// <param name="copies">列印份数</param>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();}}/// <summary>/// BarTender列印方法2/// </summary>/// <param name="destFilePath">文件路径</param>/// <param name="copies">列印份数</param>/// <param name="serialNumber">序号</param>/// <param name="origin">产地</param>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哦,也欢迎提出更好的方法!
C#控制Bartender自动列印的2种方法(附源码)相关推荐
- html怎么控制进度条,HTML如何实现进度条?附源码
进度条在网页开发中还是很常见的,比如当我们下载某个文件时,会显示下载进度.那么这篇文章 w3cschool 小编来教你 HTML 如何实现进度条. progress 标签 在 HTML5 中,有专门的 ...
- Android 开发中原始音频的录播和和自定义音频控制条的讲解及实战(超详细 附源码)
需要源码请点赞关注收藏后评论区留下QQ~~~ 一.原始音频的录播 语音通话功能要求实时传输,如果使用MediaRecorder与MediaPlayer组合,那么只能整句话都录完并编码好了才能传给对方去 ...
- 撒列实现关键字过虑二(附源码)
由于第一个版本想复杂了,思路不是很清新,导致有些问题没有攻克,过年那些天也想了很多,还是没有解决,一直想放弃那个解决方案,可就是舍不得放弃,我做了那么多,我想了那么久,我不想重头再来,但到最后还是没有 ...
- 基于MySQL的嵌入式Linux自动抄表系统设计与实现(附源码)
1. 系统设计 1.1. 服务端程序设计 服务器端程序具有如下功能: ① 同时具备通信和数据库管理功能,协议自定(即收到的哪个字段表示什么意思,为了 简化,可直接用普通字符串,不考虑通信开销问题): ...
- PyTorch深度学习基础之Reduction归约和自动微分操作讲解及实战(附源码 超详细必看)
创作不易 觉得有帮助请点赞关注收藏~~~ 一.PyTorch的Reduction操作 Reduction运算的特点是它往往对一个Tensor内的元素做归约操作,比如torch.max找极大值,torc ...
- 最新支付宝自动领取万能福python脚本(附源码)
用pyhton简单写了一个自动连续领取支付宝福卡的程序,感兴趣的可以运行一下. 使用说明: 1.首先输入要领取的站点开始的序号,总共53个站点可以领取. 2.每隔60s会自动切换到下个站点进行领取,已 ...
- python爬虫实战——自动下载百度图片(文末附源码)
用Python制作一个下载图片神器 前言 这个想法是怎么来的? 很简单,就是不想一张一张的下载图片,嫌太慢. 在很久很久以前,我比较喜欢收集各种动漫的壁纸,作为一个漫迷,自然是能收集多少就收集多少.小 ...
- 自动ssh登录的几种方法
自动ssh登录的几种方法 1. 自动ssh/scp方法== A为本地主机(即用于控制其他主机的机器) ; B为远程主机(即被控制的机器Server), 假如ip为192.168.60.110; A和B ...
- 手把手教你用Python批量实现在Excel后里面新加一列,并且内容为excel 表名(附源码)...
点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 打起黄莺儿,莫教枝上啼. 大家好, ...
- python模拟火车订票系统代码_Python3.6实现12306火车票自动抢票,附源码
原标题:Python3.6实现12306火车票自动抢票,附源码 Python(发音:英[?pa?θ?n],美[?pa?θɑ:n]),是一种面向对象.直译式电脑编程语言,也是一种功能强大的通用型语言,已 ...
最新文章
- map怎么转化dto_阿里面试题:为什么Map桶中个数超过8才转为红黑树
- PLSQL的表窗口开启(不小心把PLSQL的表窗口关了,在哪里打开)
- Win7 无法进行Windows自动更新
- 如何在一台电脑上安装2个以上JDK
- 零基础自学计算机方法大全
- TD回撤/斐波那契回撤
- Makefile伪目标
- Linux挂载新硬盘与格式化数据盘和查看磁盘格式
- 从零开始用C语言实现图片解码播放器(有源码)
- shareSDK 微信分享闪退问题
- GlidedSky爬虫-验证码1
- uiautomator2,一款比appium还好用的app自动化测试框架
- 本科计算机考研地信,作为一个已经毕业一年的地信专业学生的肺腑之言
- css compressor java_javascript/css压缩工具---yuicompressor使用方法
- win10下虚拟机安装XP系统 后无网卡的解决
- 在SNAP中用sentinel-1数据做DInSAR测量---以门源地震为例
- python私有变量什么意思_python为什么有私有方法和变量
- 小程序路由跳转,如何直接回到首页
- CMake编译报错:Cannot specify link libraries for target “test“ which is not built by this project.
- 离散数学 第十章 图的基本概念