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# 2023年6月1日
    00
  • 基于SqlSugar的开发框架循序渐进介绍(28)– 快速构建系统参数管理界面

    在参照一些行业系统软件的时候,发现一个做的挺不错的系统功能-系统参数管理,相当于把任何一个基础的系统参数碎片化进行管理,每次可以读取一个值进行管理,这样有利于我们快速的处理业务需求,是一个挺好的功能。本篇随笔模拟这个功能,基于SqlSugar开发框架的基础上,利用代码生成工具快速生成系统参数管理界面和相关的业务类生成。 1、参考和具体实现的效果对比 参照的界…

    C# 2023年4月27日
    00
  • ASP.NET Core依赖注入DI容器的方法实现

    ASP.NET Core依赖注入DI容器的方法实现攻略 ASP.NET Core依赖注入(DI)是一种设计模式,它允许我们将对象的创建和管理从应用程序代码中分离出来。在ASP.NET Core中,我们可以使用内置的DI容器来实现依赖注入。本攻略将介绍如何使用ASP.NET Core的DI容器。 步骤 以下是使用ASP.NET Core的DI容器的步骤: 在S…

    C# 2023年5月17日
    00
  • unity实现弧形移动 可角度自定

    Unity实现弧形移动 可角度自定攻略 介绍 在Unity游戏开发中,经常需要实现物体从一个点移动到另一个点,而不是沿着直线运动。本文将介绍如何使用Unity实现弧形运动,并且可设定运动角度的完整攻略。 实现过程 以下是设定弧形移动的步骤: 步骤一:准备工作 在Unity中,需要先创建一个空物体Empty,将需要弧形运动的物体作为Empty的子物体,然后将所…

    C# 2023年6月3日
    00
  • asp.net使用jquery模板引擎jtemplates呈现表格

    下面我将详细介绍“asp.net使用jquery模板引擎jtemplates呈现表格”的步骤及其示例。 jtemplates简介 jtemplates是一款基于jQuery的模板引擎,它可以帮助我们以非常简洁的方式生成HTML代码。它可以与jQuery非常好地集成,支持常用的语法结构。jtemplates提供了数据绑定、条件判断、循环等基本的模板引擎功能,可…

    C# 2023年5月31日
    00
  • Unity实战之制作动画编辑器

    Unity实战之制作动画编辑器 在Unity中,可以使用动画编辑器创建和编辑动画。本文将介绍如何制作一个自定义的动画编辑器,以便更好地管理和编辑动画。 步骤1:创建自定义窗口 首先,我们需要创建一个自定义窗口。可以使用Unity的EditorGUILayout和EditorWindow类创建自定义窗口。以下是一个简单的示例: using UnityEdito…

    C# 2023年5月15日
    00
  • 如何搭建新的WPF项目框架

    如何搭建新的WPF项目框架 搭建新的WPF项目框架可以帮助我们更好地组织和管理WPF应用程序的代码。本文将提供详细的“如何搭建新的WPF项目框架”的完整攻略,包括如何创建项目结构、如何添加基础类以及两个示例。 创建项目结构 要创建新的WPF项目框架,我们需要执行以下步骤: 创建一个新的WPF应用程序项目。 在项目中创建一个名为“Infrastructure”…

    C# 2023年5月15日
    00
  • ASP.NET MVC从视图传参到控制器的几种形式

    ASP.NET MVC是一种非常流行的Web开发框架,视图和控制器是其中非常重要的组成部分。视图是展示给用户看的页面,而控制器则负责处理用户的请求并返回相应的结果。在ASP.NET MVC中,从视图传参到控制器有多种方式,下面我将对这几种方式进行详细的讲解。 1. 通过URL传参 通过URL传参是一种常用的方式,它将参数附加在URL后面,以问号(?)开头,多…

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