编程语言
首页 > 编程语言> > C#使用BarTender打印二维码,纸张一行一列或多列

C#使用BarTender打印二维码,纸张一行一列或多列

作者:互联网

使用组件

Interop.BarTender.dll

提取码:2bxq

 

打印情况一:

如果打印次数不频繁,一次只是打印一个模板,前端可以进行直接获取到数据的情况,并且打印纸张是一行一列的,如:A4纸张单据打印。可以使用这种简单的方式:

private void btnPrint_Click(object sender, EventArgs e)
        {
            BarTender.Application btapp;
            BarTender.Format btformat;
            btapp = new BarTender.Application();
            string str = $"{Application.StartupPath}\\model.btw";//程序目录下
            btformat = btapp.Formats.Open(str, false, "");
            btformat.SetNamedSubStringValue("Var1", "内容数据1");//条码
            btformat.SetNamedSubStringValue("Var2", "内容数据2");//底部
            btformat.PrintOut(false, false); //第二个参数设置是否跳出打印属性;
            btapp.Quit(BarTender.BtSaveOptions.btSaveChanges);//退出时同步退出bartender进程
        }

 

模板例子设置如下:

  1. 只需要添加组件;
  2. 修改嵌入数据源名称(名称和 etNamedSubStringValue 代码 Name 对应);

 

 

打印情况二:

如果打印是批量、多排的,如:产品条码条码打印。使用连接数据库方式打印。这里使用SQLSerer方式连接例子

public void btnPrint_Click(bool UpdatePrintState)
{
    #region 设置临时打印数据源 
    string printId = Guid.NewGuid().ToString("N");//打印批次标记
    //情况一:创建一个临时打印表,把数据插入到临时表
    //情况二:直接根据条件去数据库查询(不需要重新创建数据)
    #endregion


    #region 通过barTender模板来打印
    BarTender.Application btapp;
    BarTender.Format btformat;
    btapp = new BarTender.Application();
    string str = $"{Application.StartupPath}\\model2.btw";//程序目录下
    btformat = btapp.Formats.Open(str, false, "");
    BarTender.Database database = btformat.Databases.GetDatabase(1);
    database.SQLStatement += $" where printID='{printId}' order by RIGHT(Var1,7)";//填写SQL语句附加条件
    database.Password = VSLoginInfo.SQLPassword;
    database.User = VSLoginInfo.SQLUser;
    btformat.PrintOut(false, checkBox1.Checked); //第二个参数设置是否跳出打印属性;
    btapp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges);//退出时同步退出bartender进程(SQL条件会改变,不更新模板信息)
    #endregion
}

 

模板例子设置如下:

  1. 数据库设置:连接数据库、选择表、设置查询语句;
  2. 修改嵌入数据源类型为【数据库字段】;
  3. 选择数据库绑定字段;

 

 

 

 

 

 

 

 

 

 

 

标签:BarTender,C#,btapp,打印,Application,false,多列,btformat
来源: https://www.cnblogs.com/xygsj/p/15200671.html