C#实现打印功能

时间:2022-12-28 15:58:03

  最近做个项目,业务员希望能打印订座系统的数据,本来想用第三方控件的,或者说到网上下载一个打印的dll程序,但是看了一下微软的打印控件,觉得挺简单的,于是决定还是用微软的控件。废话不多说了,直接上代码

 private void btn_打印_Click(object sender, EventArgs e)
        {
            // printDocument1 为 打印控件
            //设置打印用的纸张 当设置为Custom的时候,可以自定义纸张的大小,还可以选择A4,A5等常用纸型
            this.printDocument1.DefaultPageSettings.PaperSize = new PaperSize("Custum", 500, 300);
            this.printDocument1.PrintPage += new PrintPageEventHandler(this.MyPrintDocument_PrintPage);
            //将写好的格式给打印预览控件以便预览
            printPreviewDialog1.Document = printDocument1;
            //显示打印预览
            DialogResult result = printPreviewDialog1.ShowDialog();
            if (result == DialogResult.OK)
                this.printDocument1.Print();
        }
        private void MyPrintDocument_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
        {
            /*如果需要改变自己 可以在new Font(new FontFamily("黑体"),11)中的“黑体”改成自己要的字体就行了,黑体 后面的数字代表字体的大小
             System.Drawing.Brushes.Blue , 170, 10 中的 System.Drawing.Brushes.Blue 为颜色,后面的为输出的位置 ,第一个10是左边距,第二个35是上边距*/
            e.Graphics.DrawString(show_box.Text, new Font(new FontFamily("黑体"), 11), System.Drawing.Brushes.Black, 10, 35);
           
        }