目录

前言

一、安装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种方法(附源码)相关推荐

  1. html怎么控制进度条,HTML如何实现进度条?附源码

    进度条在网页开发中还是很常见的,比如当我们下载某个文件时,会显示下载进度.那么这篇文章 w3cschool 小编来教你 HTML 如何实现进度条. progress 标签 在 HTML5 中,有专门的 ...

  2. Android 开发中原始音频的录播和和自定义音频控制条的讲解及实战(超详细 附源码)

    需要源码请点赞关注收藏后评论区留下QQ~~~ 一.原始音频的录播 语音通话功能要求实时传输,如果使用MediaRecorder与MediaPlayer组合,那么只能整句话都录完并编码好了才能传给对方去 ...

  3. 撒列实现关键字过虑二(附源码)

    由于第一个版本想复杂了,思路不是很清新,导致有些问题没有攻克,过年那些天也想了很多,还是没有解决,一直想放弃那个解决方案,可就是舍不得放弃,我做了那么多,我想了那么久,我不想重头再来,但到最后还是没有 ...

  4. 基于MySQL的嵌入式Linux自动抄表系统设计与实现(附源码)

    1. 系统设计 1.1. 服务端程序设计 服务器端程序具有如下功能: ① 同时具备通信和数据库管理功能,协议自定(即收到的哪个字段表示什么意思,为了 简化,可直接用普通字符串,不考虑通信开销问题): ...

  5. PyTorch深度学习基础之Reduction归约和自动微分操作讲解及实战(附源码 超详细必看)

    创作不易 觉得有帮助请点赞关注收藏~~~ 一.PyTorch的Reduction操作 Reduction运算的特点是它往往对一个Tensor内的元素做归约操作,比如torch.max找极大值,torc ...

  6. 最新支付宝自动领取万能福python脚本(附源码)

    用pyhton简单写了一个自动连续领取支付宝福卡的程序,感兴趣的可以运行一下. 使用说明: 1.首先输入要领取的站点开始的序号,总共53个站点可以领取. 2.每隔60s会自动切换到下个站点进行领取,已 ...

  7. python爬虫实战——自动下载百度图片(文末附源码)

    用Python制作一个下载图片神器 前言 这个想法是怎么来的? 很简单,就是不想一张一张的下载图片,嫌太慢. 在很久很久以前,我比较喜欢收集各种动漫的壁纸,作为一个漫迷,自然是能收集多少就收集多少.小 ...

  8. 自动ssh登录的几种方法

    自动ssh登录的几种方法 1. 自动ssh/scp方法== A为本地主机(即用于控制其他主机的机器) ; B为远程主机(即被控制的机器Server), 假如ip为192.168.60.110; A和B ...

  9. 手把手教你用Python批量实现在Excel后里面新加一列,并且内容为excel 表名(附源码)...

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 打起黄莺儿,莫教枝上啼. 大家好, ...

  10. python模拟火车订票系统代码_Python3.6实现12306火车票自动抢票,附源码

    原标题:Python3.6实现12306火车票自动抢票,附源码 Python(发音:英[?pa?θ?n],美[?pa?θɑ:n]),是一种面向对象.直译式电脑编程语言,也是一种功能强大的通用型语言,已 ...

最新文章

  1. map怎么转化dto_阿里面试题:为什么Map桶中个数超过8才转为红黑树
  2. PLSQL的表窗口开启(不小心把PLSQL的表窗口关了,在哪里打开)
  3. Win7 无法进行Windows自动更新
  4. 如何在一台电脑上安装2个以上JDK
  5. 零基础自学计算机方法大全
  6. TD回撤/斐波那契回撤
  7. Makefile伪目标
  8. Linux挂载新硬盘与格式化数据盘和查看磁盘格式
  9. 从零开始用C语言实现图片解码播放器(有源码)
  10. shareSDK 微信分享闪退问题
  11. GlidedSky爬虫-验证码1
  12. uiautomator2,一款比appium还好用的app自动化测试框架
  13. 本科计算机考研地信,作为一个已经毕业一年的地信专业学生的肺腑之言
  14. css compressor java_javascript/css压缩工具---yuicompressor使用方法
  15. win10下虚拟机安装XP系统 后无网卡的解决
  16. 在SNAP中用sentinel-1数据做DInSAR测量---以门源地震为例
  17. python私有变量什么意思_python为什么有私有方法和变量
  18. 小程序路由跳转,如何直接回到首页
  19. CMake编译报错:Cannot specify link libraries for target “test“ which is not built by this project.
  20. 离散数学 第十章 图的基本概念

热门文章

  1. Gradle全版本资源下载
  2. 关于jar文件打不开的解决方法
  3. 【Android病毒分析报告】- 手机支付毒王“银行悍匪”的前世今生
  4. 考研数学 【数列极限证明题】题型方法总结
  5. 软件测试中的二八定律到底是什么?
  6. JS实现轮播图(超详细代码注释)
  7. 教你给视频添加马赛克的剪辑技巧,轻松简单
  8. 某企业ERP实施WBS分解
  9. 47-点分十进制表示法
  10. JavaScript入门思维导图