下面是C#使用标签软件Bartender打印标签模板的完整攻略:
1. 引入Bartender SDK
首先需要在C#工程中引入Bartender SDK。在 Visual Studio 中,打开项目 Solution Explorer,右键点击引用目录,选择添加引用,找到刚刚安装的 Bartender SDK 程序文件夹下的 “Interop.SeagullBarTender.dll” 文件,添加引用即可。
2. 创建Bartender对象并打开模板
using Seagull.BarTender.Print;
using Seagull.BarTender.PrintServer;
using Seagull.BarTender.Print.Database;
using Seagull.BarTender.Print.Message;
using Seagull.BarTender.Print.Server;
//Bartender 打印
void PrintLabel(string labelfileName)
{
Engine btEngine = new Engine();
//返回 Bartender 程序界面
btEngine.Visible = true;
//打开标签模板文件
LabelFormatDocument btFormat = btEngine.Documents.Open($"{labelfileName}");
}
3. 设计打印数据源
数据源是C#向Bartender传递数据的桥梁,必须在Bartender中进行设计。在Bartender中,选择【文件】->【新建】->【数据源】来新建一个空数据源,命名为“testCSV”,然后在数据源里面添加字段,例如“Name”和 “Value”。
4. 绑定数据
在上一步中我们创建了数据源“testCSV”,现在需要在C#中给数据源中的“Name”和“Value”绑定相应的数据。代码示例如下:
//获取当前打印机
Printer printer = new Printer(printerName);
//获取数据源并绑定数据
Database btDatabase = btFormat.Databases.GetDatabase("testCSV");
//获取含 “Name” 和 “Value” 两个字段的表
Table btTable = btDatabase.Tables.GetTable("Data");
//获取表中的“Name”字段对象
Field nameField = btTable.Fields.GetField("Name");
//获取表中的“Value”字段对象
Field valueField = btTable.Fields.GetField("Value");
//向表中添加数据并进行绑定操作
btTable.Records.Add();
nameField.Value = "Name";
valueField.Value = "Value";
btFormat.PrintSetup.PrinterName = printerName;
5. 执行Print方法并打印
绑定完数据源后,我们通过执行 Print 方法来实现打印。代码示例如下:
//打印
Result result = btFormat.Print("test",out messages);
//判断打印是否成功
if (result == Result.Success)
{
MessageBox.Show("打印成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else if (result == Result.Failure)
{
MessageBox.Show("打印失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
至此,整个打印流程已经实现了。下面是两个示例说明:
示例一:
场景:使用BT打印机打印一个条形码
//打印一个条形码
private void button1_Click(object sender, EventArgs e)
{
//调用打印方法,传入BT打印机
PrintLabel(labelFileName,BTPrinterName);
}
void PrintLabel(string labelfileName,string printerName)
{
//实例化Bartender引擎
Engine btEngine = new Engine();
//返回 Bartender 程序界面
btEngine.Visible = true;
//打开标签模板文件
LabelFormatDocument btFormat = btEngine.Documents.Open($"{labelfileName}");
//获取当前打印机
Printer printer = new Printer(printerName);
//获取数据源并绑定数据
Database btDatabase = btFormat.Databases.GetDatabase("testCSV");
//获取含 “Name” 和 “Value” 两个字段的表
Table btTable = btDatabase.Tables.GetTable("Data");
//获取表中“Name”字段对象
Field nameField = btTable.Fields.GetField("Name");
//获取表中“Value”字段对象
Field valueField = btTable.Fields.GetField("Value");
//往数据源中添加数据
btTable.Records.Add();
nameField.Value = "Value";
valueField.Value = "123456789";
btFormat.PrintSetup.PrinterName = printerName;
//执行Bartender打印操作
Messages messages;
Result result = btFormat.PrintOut(false, false, PrintOutputConstants.sequential, 1, printerName, "Test");
//判断是否打印成功
if (result == Result.Success)
{
MessageBox.Show("打印成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else if (result == Result.Failure)
{
MessageBox.Show("打印失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
//关闭Bartender引擎
btFormat.Close(SaveOptions.DoNotSaveChanges);
btEngine.Stop(SaveOptions.DoNotSaveChanges);
}
示例二:
场景:使用BT打印机打印一个材料标签
//打印一个材料标签
private void button2_Click(object sender, EventArgs e)
{
//调用打印方法,传入BT打印机
PrintLabel(labelFileName,BTPrinterName);
}
void PrintLabel(string labelfileName,string printerName)
{
//实例化Bartender引擎
Engine btEngine = new Engine();
//返回 Bartender 程序界面
btEngine.Visible = true;
//打开标签模板文件
LabelFormatDocument btFormat = btEngine.Documents.Open($"{labelfileName}");
//获取当前打印机
Printer printer = new Printer(printerName);
//获取数据源并绑定数据
Database btDatabase = btFormat.Databases.GetDatabase("testCSV");
//获取含 “Name” 和 “Value” 两个字段的表
Table btTable = btDatabase.Tables.GetTable("Data");
//获取表中“Name”字段对象
Field nameField = btTable.Fields.GetField("Name");
//获取表中“Value”字段对象
Field valueField = btTable.Fields.GetField("Value");
//往数据源中添加数据
btTable.Records.Add();
nameField.Value = "Name";
valueField.Value = "材料名称";
//往数据源中添加数据
btTable.Records.Add();
nameField.Value = "Unit";
valueField.Value = "单位";
//往数据源中添加数据
btTable.Records.Add();
nameField.Value = "Weight";
valueField.Value = "重量";
//往数据源中添加数据
btTable.Records.Add();
nameField.Value = "Code";
valueField.Value = "编码";
//绑定数据源
btFormat.PrintSetup.PrinterName = printerName;
btFormat.PrintSetup.UseDatabasePallets = true;
//执行Bartender打印操作
Messages messages;
Result result = btFormat.Print("test", out messages);
//判断是否打印成功
if (result == Result.Success)
{
MessageBox.Show("打印成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else if (result == Result.Failure)
{
MessageBox.Show("打印失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
//关闭Bartender引擎
btFormat.Close(SaveOptions.DoNotSaveChanges);
btEngine.Stop(SaveOptions.DoNotSaveChanges);
}
以上就是 C#使用标签软件Bartender打印标签模板的完整攻略,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#使用标签软件Bartender打印标签模板 - Python技术站