调用Bartender服务并打印bartender标签
通常大部分企业在生产,仓储,QC等运作环节会用到标签,标签上有些各种标识。
一般的企业都有配有标签软件+专用的标签打印机。此例以bartender为例子。
如果为了实现打印条码,或者显示具体的功能,用CR,FR等都可以实现。但这些报表工具毕竟不是专业的标签软件。
好兄弟大牛超哥分享了一个delphi写的源码,可惜我不会delphi也就没有IDE环境去看源码,就想C#写一个类似的功能:
大概的思路:调用Bartender服务并打印bartender标签
(1)下载Bartender的SDK,直接引用了(也没有研究SDK,偷懒。。。)
(2)安装bartender的软件,并制作标签作为测试用,本例:合格证。
(3)代码实现
程序界面:
制作标签:
代码如下(其中一个标签类型的代码,其他省略):
public partial class FrmQC : Form
{
public FrmQC()
{
InitializeComponent();
}
BarTender.Application btApp;
BarTender.Format btFormat;
private void Form1_Load(object sender, EventArgs e)
{
btApp = new BarTender.Application();
this.num2.Value = 1;
}
private void button1_Click(object sender, EventArgs e)
{
int a = Int32.Parse(this.num2.Value.ToString());//设置打印数量的变量
if (this.txtItem.Text.Length == 0 )
{
MessageBox.Show("未输入料号");
}
else
{
btFormat = btApp.Formats.Open(@"C:\BarTenderFiles\合格证", false, "");
btFormat.PrintSetup.IdenticalCopiesOfLabel = 1; //设置同序列打印的份数
btFormat.PrintSetup.NumberSerializedLabels = a; //设置需要打印的序列数
btFormat.SetNamedSubStringValue("品号", this.txtItem.Text); //向bartender模板传递变量
btFormat.SetNamedSubStringValue("品名", this.txtName.Text); //向bartender模板传递变量
btFormat.SetNamedSubStringValue("规格", this.txtDesc.Text); //向bartender模板传递变量
btFormat.SetNamedSubStringValue("批号", this.txtPici.Text); //向bartender模板传递变量
btFormat.SetNamedSubStringValue("日期", System.DateTime.Now.Year + "." + System.DateTime.Now.Month + "." + System.DateTime.Now.Day ); //向bartender模板传递变量
btFormat.SetNamedSubStringValue("月份", System.DateTime.Now.Month + "月份"); //向bartender模板传递变量
btFormat.SetNamedSubStringValue("月", System.DateTime.Now.Month.ToString()); //向bartender模板传递变量
btFormat.PrintOut(true, true); //第二个false设置打印时是否跳出打印属性
btFormat.Close(BarTender.BtSaveOptions.btSaveChanges); //退出时是否保存标签
}
}
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
btApp.Quit(BarTender.BtSaveOptions.btSaveChanges);//界面退出时同步退出bartender进程
}
}
由于没有测试环境没有连接TSC标签打印机,普通打印机A4纸张输出结果:
注意:标签模板变量需设置成共享名。
否则会遇到这样的问题:
红色字体部分报错 [System.Runtime.InteropServices.COMException] = {“已命名子字串 Name 未在已命名子字串列表中找到。”}求解决办法
调用Bartender服务并打印bartender标签的更多相关文章
- BarTender出现条码打印位置不准的情况怎么办
在使用BarTender 2016设计打印条码标签,往往在打印时会遇到各种各样的问题,比如说:打印内容错位,内容发生偏移,与设置好的BarTender 2016条码标签的相对位置发生较为严重的偏差,这 ...
- C#程序调用CodeSoft预先设计好的标签模块实现打印功能
if (this.tbSetLabel.Text.Trim() == "") { MessageBox.Show("请先 Enter 选择标签模板文件!", & ...
- 【Java EE 学习 80 下】【调用WebService服务的四种方式】【WebService中的注解】
不考虑第三方框架,如果只使用JDK提供的API,那么可以使用三种方式调用WebService服务:另外还可以使用Ajax调用WebService服务. 预备工作:开启WebService服务,使用jd ...
- flex 调用gp服务
同步异步说明: gp服务分为同步和异步两种模式,两者的区别是:同步:适合于快速的处理,数据量较小,本质区别在于同步模式,服务器处理之后,处理结果并不在服务器端保存,而是将结果发送至客户端,由客户端去显 ...
- node.js 调用第三方服务
node作为客户端调用第三方服务 nodejs.cn/api 1. let http = require('http'); let util = require("util") ...
- SNF快速开发平台MVC-EasyUI3.9之-WebApi和MVC-controller层接收的json字符串的取值方法和调用后台服务方法
最近项目组很多人问我,从前台页面传到后台controller控制层或者WebApi 时如何取值和运算操作. 今天就都大家一个在框架内一个取值技巧 前台JS调用代码: 1.下面是选中一行数据后右键点击时 ...
- 浅谈Eclipse调用Tomcat服务的原理
浅谈Eclipse调用Tomcat服务的原理 转:http://www.thinksaas.cn/group/topic/341645/ 转:http://www.173it.cn/Html/?581 ...
- webservice -- cxf客户端调用axis2服务端
背景: 有个项目, 需要由第三方提供用户信息, 实现用户同步操作, 对方给提供webservice接口(axis2实现)并也使用axis2作主客户端调用我方提供的webservice接口 起初, 由于 ...
- 小D课堂 - 新版本微服务springcloud+Docker教程_4-02 微服务调用方式之ribbon实战 订单调用商品服务
笔记 2.微服务调用方式之ribbon实战 订单调用商品服务 简介:实战电商项目 订单服务 调用商品服务获取商品信息 1.创建order_service项目 2 ...
随机推荐
- 3-Python3从入门到实战—基础之数据类型(数字-Number)
Python从入门到实战系列--目录 Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Sets(集合) Dictionar ...
- vue 项目引入字体报错
vue 项目引入特殊字体,总是提示有问题 原因是,在webpack 里面的配置有问题 在项目文件里面引入字体的时候,应该写url-loader 而不能是url
- 解决AJAX应用,会话超时(Session Timeout)的问题,粗略方法(不考虑使用Filter的前提下)
function ajaxPost(url, data) { var async = false; var result = {}; $.ajax({ url : url, async : async ...
- redi集群测试
redis集群的测试 原文:http://blog.sina.com.cn/s/blog_53b45c4d0102wg10.html 1.测试存取值 客户端连接集群redis-cli需要带上 -c ...
- RocketMQ事务消息实战
我们以一个订单流转流程来举例,例如订单子系统创建订单,需要将订单数据下发到其他子系统(与第三方系统对接)这个场景,我们通常会将两个系统进行解耦,不直接使用服务调用的方式进行交互.其业务实现步骤通常为: ...
- [转帖]Intel新一代Xeon完整曝光
AMD已经官宣7nm工艺的第二代EPYC霄龙服务器平台,今年上半年就会大规模出货,而在Intel这边,由于10nm工艺进展还是不够快,在服务器上还是需要14nm继续打天下,而且还有两代14nm工艺产品 ...
- pandas切片使用和column赋值
#-*- coding: utf-8 -*- #对数据进行基本的探索 #返回缺失值个数以及最大最小值 import pandas as pd datafile= '../data/air_data.c ...
- semantic segmentation with deeplearning
a 2017 guide to semantic segmentation with deep learning paper: http://blog.qure.ai/notes/semantic-s ...
- 洛谷 P4878 [USACO05DEC]layout布局
题面链接 sol:差分约束系统裸题,根据a+b<=c建个图跑个最短路就没了... #include <queue> #include <cstdio> #include ...
- BZOJ3932[CQOI2015]任务查询系统——主席树
题目描述 最近实验室正在为其管理的超级计算机编制一套任务管理系统,而你被安排完成其中的查询部分.超级计算机中的 任务用三元组(Si,Ei,Pi)描述,(Si,Ei,Pi)表示任务从第Si秒开始,在第E ...