delphi 条形码
Delphi中打印条码的方法导读: 1 通过菜单”Component”下的”Import ActiveX”将“Microsoft?Access Barcode Control 9.0”控件引入。这个控件(msbcode9.occx)随同Office一起安装到系统中。 2 在“ActiveX”下可以看到该控件,可以直接拖放到窗体上。通过属性设置,可以设置条码类型,内容,宽度、高度等等。 条码的数据是通过”Value”属性设置,也通过Datasource等设置引用数据库字段。高度和宽度通过控件的高度宽度设置,空白区域没有找到办法缩减。 3 代码 在已经插入一个控件后,可以通过以下的处理进行打印。 我试过,打印、识读都没有问题。 有关不显示在界面上就进行打印的方法,希望用户自己查询。 procedure TForm1.Button1Click(Sender: TObject); var bmp:TBitmap; sR,tR:TRect; begin //记录图像 bmp := TBitmap.Create; sR :=?Rect(BarCodeCtrl1.Left,BarCodeCtrl1.Top,BarCodeCtrl1.Left +?BarCodeCtrl1.Width, BarCodeCtrl1.Top + BarCodeCtrl1.Height); tR := Rect(0,BarCodeCtrl1.Width,BarCodeCtrl1.Height); bmp.Width := BarCodeCtrl1.Width; bmp.Height := BarCodeCtrl1.Height; bmp.Canvas.CopyRect(tR,Canvas,sR); // bmp.SaveToFile(‘c:1.bmp‘); //打印 printer.BeginDoc; printer.Canvas.Font.Size := 15; printer.Canvas.TextOut(10,10,‘Barcodestrl demo‘); printer.Canvas.Draw(20,100,bmp); printer.EndDoc; bmp.free; end; procedure TForm1.FormCreate(Sender: TObject); begin //产生条码 BarCodeCtrl1.Value := ‘012345678‘; BarCodeCtrl1.Width := 400; BarCodeCtrl1.Height := 100; end;注意: 1 该控件好像不是非常符合条码的宽窄条比,所以需要找一个合适的宽高比例,以保证可识读。 2 按照上面的方法,会采用打印机驱动程序的默认设置。因此需要在打印机驱动程序上选择合适的页面和相关处理作为默认值。当然,应该有更加好的方法对打印机驱动进行设置,可以搜索一下网络吧! 3 另外你也可以直接从网上下载一些条形码字体,然后设置打印字体为条形码字体,这种方法更为简单,但是对打印机和扫描枪有一定的精度要求。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |