在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
方法一: 使用Delphi调用BarTender打印条码,在网上搜索了一下,很多都是介绍导入ActiveX组件,其实完全没有必要。用OLE控件完全可以解决。但需要注意所使用的BarTender必须是正式的安装版(PS:**版好像也可以),试用版和绿色版都不可以二次开发。 下面是测试通过的列子:(需要引用ComObj.Pas文件) 直接写代码: procedure TForm1.DoPrintStr(_BarCode, _Text: string); varbarApp: Variant; barFormat: Variant; vPath: string; begin try vPath := ExtractFilePath(Forms.Application.ExeName); // 打印第一页 if not FileExists(vPath+'Test1.btw') then begin showMessage('打印标签不存在,请检查!'); Exit; end; barApp := CreateOleObject('BarTender.Application.10'); barApp.Visible := False; barFormat := barApp.formats.open(vPath+'Test1.btw', true, ''); // 'TEXT'、'BARCODE'均为box.btw标签纸上的控件名称 barFormat.SetNamedSubStringValue('Text1', _Text); barFormat.SetNamedSubStringValue('BarCode1',_BarCode); barFormat.printout(False,False); barFormat.close(1); barApp.quit(1); except on E: Exception do begin ShowMessage(E.ClassName + E.Message); Exit; end; end; end; 方法二:(安装控件方式) 1. 要实现的条形码功能
最近一个项目需要在扫描条码后按固定的格式打印。条形码打印控件客户习惯使用的是BarTender,使用Delphi调用BarTender来完成打印条码标签功能。此功能的重点在于:
a) 使用BarTender格式打印
b) 格式中有需要变动的部分
2. 条形码标签设计
a) 新建一个空白标签
b) 在画面上加入一个条形码控件,一个文本控件
c) 选中条形码控件,双击(或右键,属性),打开属性窗口;点击“高级”,选择“共享/名称”页,在共享名称中输入条形码控件的名字“BarCode1”;点击确定完成修改。这个步骤来定义在Delphi中(或其它语言VB等)访问的对象名。
d) 同样的步骤,给文本控件设置名称为“Text1”
e) 保存为“c:/test.btw”
3. 导入ActiveX组件
a) 打开Delphi(版本5.0及以上,其它没有测试)
b) 选择菜单“项目”à“导入类型库”(ProjectàImport Type Library)
c) 在弹出的窗口中,列出可导入的类型库;找到“BarTender 7.75”,选中
d) 将要导入的类名称会列在class names中,由于这里的类名称会与系统已存在类名称有重复,将这个全部复制出来,将类型名称前面都加上Bt。如:TFormat修改为TBtFormat.
e) 类名称修改完成后,点击”安装”(Install)
f) 系统会安装组件到ActiveX控件页上
4. 调用BarTender打印
a) 新建应用程序
b) 在窗体上拖一个TBtApplication控件(ActiveX页上),命名为btApp1
c) 在窗体上放一个TButton控件,命名为btn1,双击btn1产生事件
d) 填写事件代码如下:
procedure TForm1.btn1Click(Sender: TObject);
begin
with btApp1.Formats.Open('c:/test.btw', True, '') do //打开标签文件
begin
SetNamedSubStringValue('BarCode1', '1234567890'); //设置值
SetNamedSubStringValue('Text1', 'Hello BarTender!');
PrintOut(False, False); //打印
Close(btDoNotSaveChanges); //关闭不保存
end;
btApp1.Quit(btDoNotSaveChanges); //退出
end;
附加说明: Bartender上的设置:(新版本要设置"具名数据源" 来交换数据) |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论