Bartender 使用操作

解决常见问题,及集成开发环境

更多
C#.Net集成Bartender条码打印的方法
来源: | 作者:Bartender | 发布时间: 2020-07-20 | 938 次浏览 | 分享到:
C#.Net集成Bartender条码打印的方法

C#.Net集成Bartender条码打印的方法

1.首先安装Bartender条码打印软件,安装时版本选择 Enterprise Automation,记得把Seagull.Listen.Server和SDK也安上。安装完毕后用注册机生成注册码破解(网络上一搜就能搜到)ps:破解时注意断网破解。

2.项目中引用Seagull.BarTender.Print.dll程序集文件。

然后加入以下代码

Engine btEngine = new Engine();

                bool isAlive = btEngine.IsAlive;

                this.Label1.Text = isAlive.ToString();



                btEngine.Start();

                LabelFormatDocument btFormat = btEngine.Documents.Open(Server.MapPath("~/test.btw"));//这里是Bartender软件生成的模板文件,你需要先把模板文件做好。

                btFormat.PrintSetup.PrinterName = printerName;

                btFormat.PrintSetup.IdenticalCopiesOfLabel = 1; //打印份数

                btFormat.SubStrings["s0"].Value = value;

                Messages messages;

                int waitout = 10000; // 10秒 超时

                Result nResult = btFormat.Print("标签打印软件", waitout, out messages);

                //string messageString = "nnMessages:";

                //foreach (Seagull.BarTender.Print.Message message in messages)

                //{

                //    messageString += "nn" + message.Text;

                //}

                btFormat.SubStrings["k0"].Value = typeName;//为Bartender里的数据源(文本框、条码等等)传值

                btFormat.SubStrings["k1"].Value = spec;

                btFormat.SubStrings["k2"].Value = supplier;

                btFormat.SubStrings["k3"].Value = batch;

                btFormat.SubStrings["s0"].Value = value;

                //Result nResult1 = btFormat.Print("标签打印软件", waitout, out messages);

                btFormat.PrintSetup.Cache.FlushInterval = CacheFlushInterval.PerSession;

                btFormat.Close(SaveOptions.DoNotSaveChanges);//不保存对打开模板的修改

                btEngine.Stop();

写到这里基本上在本地vs上运行就能执行打印了。

3.发布到iis

iis账户权限。

iis默认是用network service这个账户去执行一系列操作的,包括之前SDK中写到的,btEngine.Start();这句代码。

这就跟在web上执行打开excel或word文件是一样的。

network service账户默认是没有对bartender模板文件的读写权限的。

所以这里我们需要设置一下network service的权限。

控制面板》管理工具》组件服务》计算机》我的电脑》DCOM配置

找到以bartender单词开头的几个服务。

右击服务》属性》安全

全部改为自定义 并且这三项编辑里面添加账户,加入 network service账户,并给与其最大权限。

然后我们回到iis上,选择我们发布的网站》双击身份验证(在内容视图界面)

右键ASP.NET模拟》编辑》特定用户》设置》

填写administrator账户及密码(注意必须为administrator账户设置密码)

要通过Web网页调取本地的Bartender打印程序。

将打印程序做成.net windows控件,将windows控件加载到ie网页(只有ie才支持)

然后通过网页嵌套windows控件,windows控件调取bartender打印程序的方式 进行条码打印。

在这期间,打印条码的电脑,还需要先将做好的windows控件注册。

PS:Seagull.BarTender.Print.dll文件能在安装的sdk文件夹中找到

让我们看看如何帮助您
免费咨询