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

置打印字體爲條形碼字體,這種方法更爲簡單,但是對打印機

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章