ActiveX?COM:BarTender在你的机器上安装好后,会在机器上注册一个COM,你在程序中可以调用这个COM,使用他提供的方法和属性,进行BarTender的程序级控制。这个集成方式比较实用,对BarTender的版本要求低,不过因为是基本的COM使用,所以要求你对COM的接口比较熟悉,对整个BarTender的调用流程和细节比较清晰,对于COM接口的描述,大家可以参考BarTender中的帮助文档。
ActiveX?COM
COM里面主要的就那么几个类,下面一一详细说明:
1)?Application类:实际上代表一个BarTender的进程,当你新建一个此类的对象的时候,就会出现一个新的BarTender进程。
2)?Format类:实际上代表一个格式标签(BTW文件),使用Application.?Formats.Open()方法可以打开并返回一个Format对象。这个类里面包含了打印设置,标签的参数设置等一系列的设置,很重要的一个类。
3)?NamedSubString类:管理标签文件里所有SubString的类。
4)?DataBase类:管理标签文件里设置的所有数据库链接的类。
5)?QueryPromts类:管理标签文件里面数据库查询参数的类。
鉴于Format类是比较重要的类,这里再对他的相关属性和方法也做一下说明:
1)?Print方法:这个就是最常用的打印方法,里面可设置打印的任务名,是否等待打印完成,等待超时时间,打印过程输出的信息。
2)?PrintOut方法:如果你需要在打印时出现打印设置对话框和状态框,你可以选择这个方法来实现。
3)?Save方法:保存对Format的更改。
4)?SetNamedSubStringValue方法:设置某个特定的SubString的值,这里就可以作为一个动态改变打印内容的方法。
5)?SetPromt方法:跟SetNamedSubStringValue方法类似,不过他设置的是打印提示的值,某些标签通过设置可以在打印的时候弹出对话框,输入某些变量的值来改变打印内容,这个方法就是动态设置这些变量的。不过在集成中比较少用。
6)?IdenticalCopiesOfLabel属性:这个是设置打印时要打印多少份相同的标签的,默认为标签设置。
7)?NumberSerializedLabels属性:这个是序列化打印时使用的,当你的标签启动了序列化后,这个属性代表的就是打印的份数,譬如你的序列化初始数据是1,增量为1,NumberSerializedLabels设置为5,那么就会打印出1、2、3、4、5,五个标签出来。
8)?Printer属性:指定要使用的打印机,默认为系统指定的默认打印机。
9)?PrintToFile属性:标示是马上用打印机打印出实物,还是生成一个打印文件。
通过上面方法的解释,大家已经看到里面已经有几种动态控制打印内容的方式了,我在项目中使用了上面两种,一种是直接通过SetNamedSubStringValue方法去设置某些变量的值,然后进行打印,这个适合小量的打印,因为每次都要调用Application和Format对象来处理,所以打印100份就要调用一百次,效率低,但是可以灵活设置每次的打印内容;另外一种是使用序列化打印,这个的效率就高了,因为他是只调用一次把数据扔给BarTender,之后的都是BarTender根据序列化规则去生成打印内容,不过这个方式就欠缺灵活性,只适用于标签的内容是有一定的规律进行变化的大批量打印。
上面还提到了DataBase和QueryPromts类,这两个类是用在连接数据库的打印中的,这个是我用到的第三种动态控制打印内容的方法。主要思路是,在标签里设置好各项内容,这些内容都是对应数据库的某些字段,然后设置好查询条件,暴露一个或多个查询参数,然后在程序里通过QueryPromts类来设置这些查询参数来查询出不同的数据库内容,达到动态改变打印内容的目的。Format.Databases.QueryPrompts.GetQueryPrompt()可以特定的查询条件,然后通过设置Value属性来设置他的值,最后设置完所有查询条件后进行打印。
(更多:http://www.bartender.cc/)
本文暂时没有评论,来添加一个吧(●'◡'●)