WPF 在datagrid表格控件的模板列中,增加一个"打印"功能

sxl_88 2017-03-13 11:11:05
C# WPF项目中,在datagrid表格控件中有一个"打印"的模板列,目前想实现如下功能:

点击"打印"按钮,可以直接调用打印机,打印出一张A4纸即可(后期再加打印数据,目前只是想实现可以直接调用打印机,打印一张纸即可);

请问各位,在WPF中前后台如何实现该功能,谢谢!
...全文
358 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sxl_88 2017-03-15
  • 打赏
  • 举报
回复
谢谢上面的回复,目前只是想调用打印机打印空白A4纸,有没有简洁的方法。
全栈极简 2017-03-13
  • 打赏
  • 举报
回复
PrintDialog printDialog = new PrintDialog();
printDialog.Document = printDocument1;
try
{
    printDialog.Document.DefaultPageSettings.Landscape = false;//纵向打印
    printDocument1.Print();
}
catch
{
    printDocument1.PrintController.OnEndPrint(printDocument1, new System.Drawing.Printing.PrintEventArgs());//停止打印
}

private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
	//打印内容
    e.Graphics.DrawImage(pictureBox3.Image, 0, 0, pictureBox3.Image.Width, pictureBox3.Image.Height);
}
  • 打赏
  • 举报
回复
首先引用: System.Printing System.windows.forms; System.drawing; /// <summary> /// 打印对象 /// </summary> private System.Windows.Controls.PrintDialog printDialog; /// <summary> /// 打印机对象 /// </summary> private PrintQueue printer; 构造函数或者其它方法中: // 打印机 printDialog = new System.Windows.Controls.PrintDialog(); // 选择打印机 printer = new LocalPrintServer().GetPrintQueue("你的打印机名称“); 调用方法中: if (printDialog != null) { if (printer != null) { // 设置当前打印机 printDialog.PrintQueue = printer; var txtblock = new TextBlock(); txtblock.Text = "hello"; printDialog.PrintVisual(txtblock, "测试"); } else { MessageBox.Show("请先安装小票打印机"); } }

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧