首页 > 代码库 > WinForm 调用 PrintDocument
WinForm 调用 PrintDocument
使用WinForm 打印 Devexpress BarCodeControl 二维码
/// <summary> /// Handles the ItemClick event of the barButtonItem2 control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="DevExpress.XtraBars.ItemClickEventArgs"/> instance containing the event data.</param> private void barButtonItem2_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { printDialog1.Document = printDocument1; printPreviewControl1.Document = printDocument1; printDocument1.PrintPage += PrintDocument1_PrintPage; if (printDialog1.ShowDialog() == DialogResult.OK) { printDocument1.Print(); } } /// <summary> /// Prints to graphics. /// </summary> /// <param name="graphics">The graphics.</param> /// <param name="bounds">The bounds.</param> public void PrintToGraphics(Graphics graphics, Rectangle bounds) { Bitmap bitmap = new Bitmap(barCodeControl1.Width, barCodeControl1.Height); barCodeControl1.DrawToBitmap(bitmap, new Rectangle(0, 0, bitmap.Width, bitmap.Height)); Rectangle target = new Rectangle(0, 0, bounds.Width, bounds.Height); double xScale = (double)bitmap.Width / bounds.Width; double yScale = (double)bitmap.Height / bounds.Height; if (xScale < yScale) target.Width = (int)(xScale * target.Width / yScale); else target.Height = (int)(yScale * target.Height / xScale); graphics.PageUnit = GraphicsUnit.Display; graphics.DrawImage(bitmap, target); } /// <summary> /// Handles the PrintPage event of the PrintDocument1 control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="System.Drawing.Printing.PrintPageEventArgs"/> instance containing the event data.</param> private void PrintDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) { PrintToGraphics(e.Graphics, e.MarginBounds); }
WinForm 调用 PrintDocument
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。