【C#】C#调用Bartender模板打印

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

 

评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GreAmbWang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值