C#使用标签软件Bartender打印标签模板

下面是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技术站

(0)
上一篇 2023年6月7日
下一篇 2023年6月7日

相关文章

  • 详解C#如何实现隐式类型转换

    下面是详解C#如何实现隐式类型转换的完整攻略: 标题:C#隐式类型转换详解 什么是隐式类型转换 在C#中,隐式类型转换是指将一种数据类型的值自动转换为另一种数据类型,无需显式地指定转换类型。通常情况下,隐式类型转换会自动执行,这样可以方便地在不同类型之间进行赋值、比较等操作。 哪些数据类型可以进行隐式类型转换 C#中只有一部分数据类型可以进行隐式类型转换,主…

    C# 2023年6月1日
    00
  • 基于C#的图表控件库 ScottPlot编译visual studio 2022

    ScottPlot是什么? ScottPlot是一个可视化绘图的C#控件库,提供了丰富的图表类型和交互式功能。ScottPlot基于.NET Core 3.0和.NET Framework 4.6.1开发,支持WinForms、WPF以及控制台程序等多种应用类型。 ScottPlot的安装 在Visual Studio 2022中安装ScottPlot有两种…

    C# 2023年6月3日
    00
  • .NetCore利用BlockingCollection实现简易消息队列

    .NET Core利用BlockingCollection实现简易消息队列 在.NET Core应用程序中,我们可以使用BlockingCollection类来实现简易消息队列。本攻略将详细介绍如何使用BlockingCollection类来实现简易消息队列,并提供两个示例说明。 BlockingCollection类 BlockingCollection类…

    C# 2023年5月17日
    00
  • C#的Excel导入、导出

    下面给您详细讲解C#中的Excel导入和导出的完整攻略。 导入Excel 使用第三方库 要导入Excel文件到C#程序中,常用的做法是使用第三方库。其中比较常用的库有: NPOI:NPOI是C#的开源库,用于按照Microsoft Office的公开标准读写Excel文件。功能强大,支持.xls、.xlsx、.ppt、.pptx、.doc和.docx等Off…

    C# 2023年5月15日
    00
  • c#中利用Tu Share获取股票交易信息

    下面是关于“c#中利用Tu Share获取股票交易信息”的完整攻略。 一、概述 Tu Share是一个免费提供A股、港股等股票交易数据的API,其提供了多种语言的接口,包括Python、Java、C#等,本攻略将介绍如何在C#中使用Tu Share获取股票交易信息。 二、注册账号 在使用Tu Share API之前,需要先注册一个账号,具体如下所示:1. 打…

    C# 2023年5月31日
    00
  • C#通过反射创建自定义泛型

    要通过反射在C#中创建自定义泛型,需要遵循以下步骤: 使用Type.MakeGenericType方法创建泛型类型的实例对象,并传递一个类型数组,该数组包含泛型类型所需的类型参数。 使用Activator.CreateInstance方法创建泛型类型对象的实例。 必要时使用反射获取泛型类型对象上的属性和方法,以使其在程序中正确运行。 以下是两个示例说明: 示…

    C# 2023年5月31日
    00
  • MASA MinimalAPI源码解析:为什么我们只写了一个app.MapGet,却生成了三个接口

    源码解析:为什么我们只写了一个app.MapGet,却生成了三个接口 1.ServiceBase 1.AutoMapRoute 源码如下: AutoMapRoute自动创建map路由,MinimalAPI会根据service中的方法,创建对应的api接口。 比如上文的一个方法: public async Task<WeatherForecast[]&g…

    C# 2023年5月9日
    00
  • .Net Core日志记录的核心机制

    .NET Core日志记录的核心机制 在.NET Core中,日志记录是一个非常重要的功能,可以帮助我们在应用程序中记录和跟踪事件。本攻略将介绍.NET Core日志记录的核心机制,并提供两个示例说明。 日志记录的核心机制 在.NET Core中,日志记录的核心机制包括以下几个部分: 1. ILogger ILogger是在.NET Core中记录日志的接口…

    C# 2023年5月17日
    00
合作推广
合作推广
分享本页
返回顶部