C# 怎样实现条码标签的批量打印
调用,PrintDocument.print
如果我要批量实现条码标签的打印,应该怎么写?
代码如下:
private void button1_Click(object sender, EventArgs e) //按钮事件
{
strCon = "server=192.168.1.57;uid=sa;pwd=123;database=LonkingJiXie";
SqlConnection sqlCon = new SqlConnection();
sqlCon.ConnectionString = strCon;
sqlCon.Open();
SqlCommand sqlCom = new SqlCommand("select * from TestTM", sqlCon);
SqlDataReader sqlDR = sqlCom.ExecuteReader();
bool ifcom = sqlDR.Read();
if (ifcom)
{
WLcode = sqlDR[0].ToString();
WLname = sqlDR[1].ToString();
TMcode = sqlDR[2].ToString();
}
PrintPreviewDialog ppwDlg = new PrintPreviewDialog();
PrintDocument prtDoc = new PrintDocument();
ppwDlg.Document = prtDoc;
prtDoc.PrintPage += new PrintPageEventHandler(prtDoc_PrintPage);
if (ppwDlg.ShowDialog() != DialogResult.OK)
{
prtDoc.PrintPage -= new PrintPageEventHandler(prtDoc_PrintPage);
return;
}
}
----------------------document.pintpage事件
//printdocument.printpage 事件
Graphics g = e.Graphics;
e.Graphics.Clip = new Region(new Rectangle(10, 2, 800, 200));
g.PageUnit = GraphicsUnit.Millimeter;
Font drawFont = new Font("宋体", 14);
Font drawLGFont = new Font("方正艺黑简体", 8);
SolidBrush drawBrush = new SolidBrush(Color.Black);
g.DrawString("Lonking 龙工", drawLGFont, drawBrush, 10, 5);
SizeF FZ = g.MeasureString("Lonking 龙工", drawFont, e.MarginBounds.Width);
g.DrawString(WLname + ":", drawFont, drawBrush, 10, 5 + FZ.Height);
SizeF dd = g.MeasureString(WLname + ":", drawFont, e.MarginBounds.Width);
g.DrawString(WLcode, drawFont, drawBrush, 10 + dd.Width, 5 + dd.Height);
Pen penLine = new Pen(new SolidBrush(Color.Black), 0.2f);
//g.DrawLine(penLine, 10, 10, 190, 10);
//g.DrawLine(penLine, new PointF(20.0f, Convert.ToSingle(20.0f + dd.Height)), new PointF(Convert.ToSingle(20.0f + 2 * dd.Width), Convert.ToSingle(20.0f + dd.Height)));
//g.DrawRectangle(penLine, 10,10, 190, 50); //左,上,右,下 坐标,高、宽
Code39 _Code39 = new Code39();
_Code39.Height = 60;
_Code39.Magnify = 1;
_Code39.ViewFont = new Font("宋体", 10);
System.Drawing.Image _CodeImage = _Code39.GetCodeImage(TMcode, Code39.Code39Model.Code39Normal, true);
g.DrawImage(_CodeImage, 5, 10 + FZ.Height);
相关推荐
控制斑马打印机打印条码标签.rar
**实际应用**: 在实际业务中,控制斑马打印机打印条码标签可能涉及到库存管理、物流追踪、产品标识等多种场景。通过C#的灵活控制,可以实现自动化、高效化的标签打印流程。
C#条码标签打印实战:WinForm+PrintDocument+ZXing.Net从选型到踩坑
条码标签打印是仓储、零售、固定资产管理等系统中常见的功能需求,其本质是将数据与模板结合,通过打印机输出为可扫描识别的标签。在C#环境下,开发者常使用WinForm结合PrintDocument技术实现本地打印,再利用开源库ZXing.Net生成Code 128等条码。要获得清晰的打印效果,需理解打印机DPI与像素尺寸的换算关系,并预留条码静区,否则容易出现偏移、裁切或扫码枪无法识别等问题。批量打印时可借助PrintDocument的分页机制,一次加载数据源,逐条渲染输出。该方案不依赖特定硬件品牌,兼容性强,
C#调用BarTender批量打印标签:从COM引用到数据库套打实战
在工业制造与仓储物流场景中,标签打印并非简单的文档输出,而是数据流转与生产追溯的关键环节。产品批次号、序列号等信息需要精准、高效地呈现在物理标签上,此时编程语言与专业标签软件的协同便成为核心技术方案。C#作为上位机开发的常用语言,通过COM接口与BarTender交互,实现了模板设计、数据填充与打印控制的分离。其原理在于程序加载模板后,以命名子字符串的方式动态赋入数据库字段,再调用打印引擎完成输出。这种方案不仅大幅提升批量打印效率,还降低了人工干预带来的漏打、错打风险,可广泛应用于MES扫码绑定、WMS出库
易用条码标签打印软件二次开发调用
易用条码标签打印软件提供的API,允许开发者通过编程方式与软件进行交互,实现自定义标签设计和打印功能。
C#调用Codesoft批量打印条码实例
在本文中,我们将深入探讨如何使用C#编程语言调用Codesoft软件进行批量打印条码。


