分析
软件版本:Bartender 2022
是否支持32位:否
SDK范例:Engine类调用(另有另一种风格的SDK,忘记是啥了)
引用COM库
参考路径:
Seagull\BarTender 2022\SDK\Assemblies\Seagull.BarTender.Print.dll
可能只能用framework4.8跑
启动引擎
- // 启动引擎(第一次运行耗时较多)
- Engine btEngine = new Engine(true)
复制代码 打开BTW文档并指定打印机
- // 打开标签
- LabelFormatDocument btFormat = btEngine.Documents.Open(文件名, 打印机名);
复制代码 给具名字段赋值
- // 设置数据 字段信息 Directory<string, string>
- foreach(var kv in 字段信息)
- {
- btFormat.SubStrings[kv.Key].Value = kv.Value;
- }
复制代码 设置数量
- // 对应软件里的序号数量
- btFormat.PrintSetup.NumberOfSerializedLabels = 序号数量;
- // 对应软件里每个序号的copies数量
- btFormat.PrintSetup.IdenticalCopiesOfLabel = 打印数量;
复制代码 设置纸张大小
- btFormat.PageSetup.PaperWidth = 纸张宽度;
- btFormat.PageSetup.PaperHeight = 纸张高度;
复制代码 打印并得到返回值
- // 第一个参数为JobName
- Result result = btFormat.Print("", out Messages messages);
- // Result为枚举 例如if (result == Result.Success)
- // Messages是IEnumerable<Message> 迭代可得到更多详细信息
- foreach(Message msg in messages)
- {
- Console.WriteLine(msg.ID);
- Console.WriteLine(msg.Text);
- // msg.xx 还有更多
- }
复制代码 不完备的整体代码
- // 启动引擎
- using (Engine btEngine = new Engine(true))
- {
- // 打开标签
- LabelFormatDocument btFormat = btEngine.Documents.Open(文件名, 打印机名);
- // 设置数据
- foreach(var kv in 字段信息)
- {
- btFormat.SubStrings[kv.Key].Value = kv.Value;
- }
- // 设置数量
- btFormat.PrintSetup.NumberOfSerializedLabels = 序号数量;
- btFormat.PrintSetup.IdenticalCopiesOfLabel = 打印数量;
- btFormat.PageSetup.PaperWidth = 纸张宽度;
- btFormat.PageSetup.PaperHeight = 纸张高度;
- Result result = btFormat.Print("", out Messages messages);
- // 关闭
- btFormat.Close(SaveOptions.DoNotSaveChanges);
- btEngine.Stop();
- // 返回信息
- Console.WriteLine(result.ToString()); // Success
- foreach(Message msg in messages)
- {
- Console.WriteLine(msg.ID);
- Console.WriteLine(msg.Text);
- }
- }
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |