天天看點

(轉載) 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,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 另外你也可以直接從網上下載下傳一些條形碼字型,然後設

置列印字型為條形碼字型,這種方法更為簡單,但是對列印機

和掃描槍有一定的精度要求。