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 另外你也可以直接從網上下載一些條形碼字體,然後設
置打印字體爲條形碼字體,這種方法更爲簡單,但是對打印機
和掃描槍有一定的精度要求。
導讀:
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 另外你也可以直接從網上下載一些條形碼字體,然後設
置打印字體爲條形碼字體,這種方法更爲簡單,但是對打印機
和掃描槍有一定的精度要求。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.