C/S模式 Winform 打印模块扩展

   在之前工作中一直对打印模块是简单的拖PrintDocument等控件实现打印操作的,但是后来根据需求的变化,觉得简单如上文发布的打印比较死板,然而在此寻找到新的方法来分享下!

在工作中比如有同一页面操作不同打印机直接打印的方法(不显示系统自动的打印设置页面),并且在这个例子中的时间是自己定义的!

PrintDocument printDocument ;
        public PrintMenu()
        {
            InitializeComponent();
        }
        
        private void PrintMenu_Load(object sender, EventArgs e)
        {
            printDocument = new PrintDocument();
            printDocument.PrintPage += new PrintPageEventHandler(printDocument_PrintPage);
            
            //


        }
        private void printDocument_PrintPage(object sender,PrintPageEventArgs e) 
        {
            Bitmap _NewBitmap = new Bitmap(groupBox1.Width, groupBox1.Height);
            groupBox1.DrawToBitmap(_NewBitmap, new Rectangle(0, 0, _NewBitmap.Width, _NewBitmap.Height));
            e.Graphics.DrawImage(_NewBitmap, 0, 0, _NewBitmap.Width, _NewBitmap.Height); 
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //指定打印机打印
            //Canon iR3570/iR4570 PCL6
            printDocument.PrinterSettings.PrinterName = "ZDesigner 888-TT";
            
            //打印预览
            PrintPreviewDialog printPreviewDialog1 = new PrintPreviewDialog();
            printPreviewDialog1.Document = printDocument;
            printPreviewDialog1.ShowDialog();
            //打印
            printDocument.Print();
        }

定义一个时间使用系统的委托,放在Load中触发printDocument的PrintPage事件,然后在printDocument.PrinterSettings.PrinterName中指定打印机名字。

转载于:https://www.cnblogs.com/mercy/articles/2541850.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值