你先得在网上安装哥BarCodeWiz组件了。http://www.hn0738.com/softinfo/17608.html
还有就是要看看关于打印的一些基础了。
private void btnPrintBarCode_Click(object sender, System.EventArgs e)
{
#region 获取条码打印机
string BarCodePrinters = "Citizen CLP-7201e";
string pkInstalledPrinters = "";
for (int i = 0; i < PrinterSettings.InstalledPrinters.Count; i++)
{
pkInstalledPrinters = PrinterSettings.InstalledPrinters[i];
if(pkInstalledPrinters.IndexOf("Citizen") > -1)
{
BarCodePrinters = pkInstalledPrinters;
break;
}
}
printDocument.PrinterSettings.PrinterName = BarCodePrinters;
#endregion
foreach (DataRow dr in RecvBill.tblInstrument.Rows)
{
#region 修改条码内容
BarCodeWiz.TopText = "单位:" + RecvBill.Corp.CorpName;
BarCodeWiz.TopText += "/r物品:" + (string)dr["InstrName"];
BarCodeWiz.TopText += "/r型号:" + (string)dr["Spec"];
BarCodeWiz.TopText += " 编号:" + (string)dr["BatchNo"];
BarCodeWiz.Barcode = dr["DetailId"].ToString();
PaperSize pkCustomSize = new PaperSize("First custom size", 610, 250);
printDocument.DefaultPageSettings.PaperSize = pkCustomSize;
//printDocument.DefaultPageSettings.PaperSize.Width = int.Parse(txtPaperWidth.Text);
//printDocument.DefaultPageSettings.PaperSize.Height = int.Parse(txtPaperHeight.Text);
printDocument.OriginAtMargins = true;
printDocument.DefaultPageSettings.Margins.Left = 10;
printDocument.DefaultPageSettings.Margins.Right = 0;
printDocument.DefaultPageSettings.Margins.Top = 0;
printDocument.DefaultPageSettings.Margins.Bottom = 0;
printDocument.PrinterSettings.DefaultPageSettings.PaperSize = pkCustomSize;
printDocument.PrinterSettings.DefaultPageSettings.Margins.Left = 10;
printDocument.PrinterSettings.DefaultPageSettings.Margins.Right = 0;
printDocument.PrinterSettings.DefaultPageSettings.Margins.Top = 4;
printDocument.PrinterSettings.DefaultPageSettings.Margins.Bottom = 0;
#endregion
#region 打印条码
try
{
printDocument.Print();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
#endregion
}
}
当然了在PrintPage中得这样写了
private void printDocument_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
e.Graphics.DrawImage(BarCodeWiz.Picture,0,0);
}