Bartender版本:Bartender 2016(11.0.7.3.3146)
Bartender下载
http://www.ddooo.com/softdown/142454.htm
或
链接:https://pan.baidu.com/s/1GzT-dEXeM3bC3cTEGOhGrg
提取码:tb30
Bartender模板设置
设置文本居中
属性--文本格式--单行--自动调整大小--对齐方式水平设置为中,设置完成,再调整字段方框大小
居中效果
设置文本多行(段落)
属性--文本格式--段落--自动调整大小--同时可以调整最大最小字体,再调整字段方框大小
多行效果
设置表格
在Bartender中没有找到表格的设置,可以使用矩形和直线配合使用
表格效果
设置数据源
在数据源中的名称设置,之后可以在C#代码中调用
C#调用Bartender模板
通过引用--COM--选择Bartender 11.0
调用
private static BarTender.Application btApp = new BarTender.Application();
private static BarTender.Format btFormat;
/// <summary>
/// 打印
/// </summary>
/// <param name="printerName">打印机名称</param>
/// <param name="btFileName">bt文件</param>
public static void Print(string printerName, string btFileName)
{
btFormat = btApp.Formats.Open(btFileName);
btFormat.PrintSetup.Printer = printerName;
btFormat.SetNamedSubStringValue("Name", "哈哈");
btFormat.SetNamedSubStringValue("Time", "2020.01.04");
btFormat.PrintOut(true, false);
//btFormat.Close(BarTender.BtSaveOptions.btDoNotSaveChanges);
//btApp.Quit(BarTender.BtSaveOptions.btSaveChanges);
}
封装一下,方便使用
/// <summary>
/// 打印
/// </summary>
public class PrintHelper
{
private static BarTender.Application btApp = new BarTender.Application();
private static BarTender.Format btFormat;
/// <summary>
/// 打印
/// </summary>
/// <param name="printerName">打印机名称</param>
/// <param name="btFileName">bt文件</param>
/// <param name="dict">bt文件对应的key与value</param>
public static void Print(string printerName, string btFileName, Dictionary<string, string> dict)
{
btFormat = btApp.Formats.Open(btFileName);
btFormat.PrintSetup.Printer = printerName;
foreach (var item in dict)
{
btFormat.SetNamedSubStringValue(item.Key, item.Value);
}
btFormat.PrintOut(true, false);
//btFormat.Close(BarTender.BtSaveOptions.btDoNotSaveChanges);
//btApp.Quit(BarTender.BtSaveOptions.btSaveChanges);
Tools.IniHelper.Printer = printerName;
}
}
使用
foreach (var mNInfo in mNInfos)
{
Dictionary<string, string> mns = new Dictionary<string, string>()
{ { "MN", mNInfo.MN }, { "Name",mNInfo.Name }
, { "LotNum", mNInfo.LotNum }, { "Time",mNInfo.Time }};
PrintHelper.Print(printerName, IniHelper.MNBTPath, mns);
}
参考
https://blog.csdn.net/u013002790/article/details/75207975
https://blog.csdn.net/zeallag1/article/details/80086875