C#打印条码BarTender SDK

本文介绍了一种使用BarTender软件实现打印模板自动化的方法。通过C#代码调用BarTender引擎,自动填充模板数据并指定打印机名称,实现批量打印。文章详细展示了如何检查打印机是否存在,以及异常处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【原文】

namespace print
{
    public class PrintUtil
    {
            try
                {
                    string PrintName = "TSC TTP-243E Pro";//"TSC TTP-243E Pro"
                    AppLogger.Warn("引擎new之前");//"记录日志方便查找问题原因"
                    Engine btEngine = new Engine();
                    AppLogger.Warn("引擎new完后,start前");
                    btEngine.Start();
                    AppLogger.Warn("引擎开启");
                    LabelFormatDocument btFormat = btEngine.Documents.Open(Path.Combine("C://Program Files (x86)//Seagull//BarTender Suite", "模版1" + ".btw"));
                    AppLogger.Warn("模版打开");
                    btFormat.SubStrings["ProjectNo"].Value = DataImportOld.Project_Name;//对模版相应字段进行赋值
                    btFormat.SubStrings["ProjectName"].Value = DataImportOld.Material_Name;
                    btFormat.SubStrings["GroupName"].Value = DataImportOld.WorkingGroup_Name;
                    btFormat.SubStrings["Type"].Value = DataImportOld.Material_Type;
                    btFormat.SubStrings["Color"].Value = DataImportOld.Color;
                    btFormat.SubStrings["Num"].Value = Convert.ToString(True_Number);
                    btFormat.SubStrings["BarCodeName"].Value = builder.ToString();
                    btFormat.SubStrings["Batch"].Value = DataImportOld.Batch;
                    AppLogger.Warn("模版赋值");
                    //btFormat.PrintSetup.Cache.FlushInterval = CacheFlushInterval.PerSession;
                    //btFormat.Close(SaveOptions.DoNotSaveChanges);//不保存对打开模板的修改
                    btFormat.PrintSetup.PrinterName = PrintName;
                    //寻找打印机
                    PrinterSettings.StringCollection snames = PrinterSettings.InstalledPrinters;
                    bool PrintIsExist = false;
                    string logPringter = "";
                    foreach (string Name in snames)
                    {
                        logPringter += Name + ";";
                        if (Name.ToLower().Trim() == PrintName.ToLower().Trim())
                        {
                            PrintIsExist = true;
                        }
                    }
                    AppLogger.Warn("搜索的打印机有" + logPringter);

                    if (!PrintIsExist)
                    {
                        return new Result<string>(false, "打印机不存在");
                    }
                    AppLogger.Warn("开始打印");
                    btFormat.Print();
                    AppLogger.Warn("打印成功");
                    AppLogger.Warn("开始关闭引擎");
                    btEngine.Stop();
                    AppLogger.Warn("关闭引擎成功");
                }
                catch (Exception ex)
                {
                    AppLogger.Warn(string.Format("Exception: " + ex.Message));
                    return new Result<string>(false, string.Format("Exception: " + ex.Message));
                }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值