C# 使用Bartender批量打印二维码标签
生成二维码
二维码用代码生成的方法有很多,不过这里偷了个懒,直接下载了Bartender来手动生成,使用起来还是很方便的。
下载Bartender
制作一个模板
根据自己的需要绘制一张需要的模板,这个就不详细说明了。
绑定数据
根据需要替换的文字,右键选择属性
填写变量名,数据随便填一个(代码可以通过变量名准确给数据赋值)
存储文件
绘制好的标签文件存储作为模板文件
打印
引用Bartender库
接下来开始代码部分
abstract class BarcodeMain
{
abstract public bool OnPrintSampleBarcode(string barcode, int pageCount);
public BarTender.Application btApp;
public BarTender.Format btFormat;
public static string PrinterSelection { get; set; }
}
/// <summary>
/// 说明:打印二维码
/// 要打印的参数
/// 打印页数
/// </summary>
/// <param name="QRCodeData"></param>
/// <param name="pageCount"></param>
/// <returns></returns>
public override bool OnPrintSampleBarcode(string QRCodeData, int pageCount)
{
try
{
//调用Bartender
btApp = new BarTender.Application();
//获取打印模板,指定打印机
var path = File_Operations.SoftwareStartupAddress + @"Img\" + "Demo.btw";
//获取打印机名称
string printer = BarcodeMain.PrinterSelection;
//打开模板文件和调用打印机
btFormat = btApp.Formats.Open(path, false, printer);
// 同样标签的份数
btFormat.PrintSetup.IdenticalCopiesOfLabel = pageCount;
// 序列标签数
btFormat.PrintSetup.NumberSerializedLabels = 1;
//我根据传进来的QRCodeData数据做的处理,可以根据你自己的要求来
SetData(QRCodeData, ref _App);
//给模板文件对应变量赋值
btFormat.SetNamedSubStringValue("S***", _App);
//打印开始 第2个参数是 是否显示打印机属性的。可以设置打印机路径
btFormat.PrintOut(false, false);
//关闭摸板文件,并且关闭文件流
btFormat.Close(BarTender.BtSaveOptions.btDoNotSaveChanges);
//打印完毕
btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges);
return true;
}
catch (Exception e)
{
return false;
throw e;
}
}
处理好自己的数据传进去,就可以实现标签纸的打印了,这个方法斑马和TSC都能用。