https://docs.microsoft.com/zh-cn/dotnet/api/?view=netframework-4.8&term=System.Drawing.Printing
System.Drawing.Printing下得用来完成打印功能
事件BeginPrint:在调用Print方法后,在打印文档的第一页之前发生。
一般设置在打印时所有页的相同属性或共用的资源,例如所有页共同使用的字体、建立要打印的文件流等
事件PrintPage:需要打印新的一页时发生。
处理函数负责打印一页数据
事件EndPrint:在文档的最后一页打印后发生。
处理函数进行打印善后工作
一、普通打印
//打印 PrintDocument printDocument = new PrintDocument(); printDocument.PrintPage += new PrintPageEventHandler(PrintSetting); printDocument.Print();
调用事件
private void PrintSetting(object sender, PrintPageEventArgs e) { float x1 = 20;//起始x float y1 = 35;//起始y //偏移量 float x_offset = 10; float y_offset = 20; //用户自定义偏移量调整 //float x_offset_adjust=0; //赋值 //x1 = x1 + x_offset_adjust; //设置字体 Font fntTxt = new Font("宋体", 10, FontStyle.Regular); Font fntTxtSmall = new Font("宋体", 5.5F, FontStyle.Regular); Brush brush = new SolidBrush(Color.Black); string lupi = "19120452";//"19120452"; //字体 e.Graphics.DrawString(lupi, fntTxt, brush, new PointF(x1, y1)); //打印二维码图片 e.Graphics.DrawImage(img, x1+40, y1-30); }
二、打印设置
三、页面设置
四、打印预览
PrintPreviewDialog printPreviewDialog = new PrintPreviewDialog(); printPreviewDialog.Show();