条形码打印机的打印是以热为基础,以碳带为打印介质(或直接使用热敏纸)完成打印。BarcodeX ActiveX控件 能产生几乎所有类型的条形码。它可以和数据源绑定,用于数据库报告。条形码可以导出为位图,元文件,剪贴板等。
EAN-13、 EAN-8、EAN-2、EAN-5、UPC-A、UPC-E、Code39、Code39 Ext、Code93、 Code 128、EAN-128、ISSN、ISBN、Plessey、Code11、Code25、Code25 Int.、Codebar 甚至PDF417 2维条形码。
BarcodeX ActiveX控件 能用于任何Windows应用程序(比如 MS Word, MS Access, Visual Basic, VisualStudio .NET等),包括VB.NET运用实例。
2位Bit ActiveX Control (OCX); 能工作于VisualStudio.Net、ASP、VBScript等; 把条形码导出到ASP网页; 可选的位于条形码下的文本行,支持Windows所有字体;
前台和背景颜色可配置; 调整条形码大小; 旋转条形码; 把条形码导出为BMP 或 EMF格式图片;
支持的条形码格式有:PDF-417、EAN-13、EAN-8、 EAN-5、EAN-2、UPC-A、UPC-E、Code39、Code39 Ext、Code 128、 EAN-128、ISSN、ISBN、Codebar、Code25、Inteleaved 25、Post 25、Code11、Code93、Plessey; 自动计算和添加校验位数;
能工作于支持ActiveX的程序和开发环境如:Microsoft Office 97、Visual Studio、Visual C++、Visual Basic and Visual Basic for Applications (VBA)、J++, Visual FoxPro、 Access97、Word97、Excel、Works 4.5、FrontPage97/98、 Powerbuilder、Delphi;
不需要其他的DLL; 能把条形码拷贝到剪贴板;
在VB里可把条形码用做图片对象; 安装和卸载方便。
(1)检测控件是否注册(方法不唯一)。
本例使用的是判断注册表中 HKEY_CLASSES_ROOTTypeLib 是否包含barcodex.ocx的项。
如果注册了barcodex.ocx控件,则会生成对应的项。
HKEY_CLASSES_ROOTTypeLib{8E515444-86DF-11D3-A630-444553540001} 。
注:该项最后的 {8E515444-86DF-11D3-A630-444553540001} 为barcodex.ocx控件唯一GUID值。
(2)注册ocx控件(提供三种方法)
①调用命令提示符。(barcodex.ocx必须在应用程序的根目录)
System.Diagnostics.Process.Start("regsvr32", "barcodex.ocx /s");进行注册。
②调用bat。(与①类似,未使用过)
在应用程序的根目录编辑好一个bat。命名为" install.bat ",内容为“ regsvr32.exe barcodex.ocx ”。barcodex.ocx必须在应用程序的根目录。
再调用System.Diagnostics.Process.Start("regsvr32", "install.bat ");进行注册。
③调用ocx的注册入口函数。(本例使用)
Ⅰ、将文件复制到" C:\windows "目录下(文件目录是次要,笔者是考虑误删,才选择此目录。)
Ⅱ、声明调用的函数(需要引用 using System.Runtime.InteropServices; )
[DllImport("C:\Windows\barcodex.ocx")]
public static extern int DllRegisterServer();//注册时用
[DllImport("C:\Windows\barcodex.ocx")]
public static extern int DllUnregisterServer();//取消注册时用
Ⅲ、自定义的注册方法。
public static bool DLLRegister()
{
int i = DllRegisterServer();
if (i >= 0)
{
return true;
}
else
{
return false;
}
}
(1)引用AxInterop.BARCODEXLib.dll和Interop.BARCODEXLib.dll文件。
(2)工具箱->所有windows窗体->右键 选择项->选择com组件 。
找到名称为BarcodeX by Fath Software,路径为c:windowsarcodex.ocx 的项,选中,添加。即可完成添加。
4、拖入条形码控件到winform窗体中,设置Name为axBCX。
5、预览一维码。
(1)axBCX.BarcodeType=BARCODEXLib.bcxTypeEnum.bcxCode128;//设置条形码类型,
(2)axBCX.Caption = "123456789";//要显示的条形码
(3)axBCX.Height=150;//条形码的高度
(4)axBCX.Width=80;//条形码的宽度
(5)axBCX.Title="条形码的预览";//条形码的标题
至此,即可完成Barcodex条形码的预览功能。
(1)原理:将条形码区域截取为image进行打印(两种方法)。
①使用axBCX.Picture 属性,即可获取其对应的image对象,但是此属性需要[ComAliasName("stdole.IPictureDisp")](stdole)的支持,此为office扩展,客户机器不一定安装,所以不建议使用。
②使用axBCX.CreateBMP();方法,将条形码截取为bmp图片,再进行打印。
(2)打印实现。