您的位置:首页 > 编程语言 > C#

C# 打印 无需自定义打印类

2014-04-08 10:04 190 查看
方法一:

 private void btnPrint_Click(object sender, EventArgs e)

        {

            //PrintPreviewDialog pd = new PrintPreviewDialog();

            //pd.ShowDialog(this);

            //PrintDialog pd = new PrintDialog();

            PrintDocument pd = new PrintDocument();

            pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);

            PrintPreviewDialog cppd = new PrintPreviewDialog();

            cppd.Document = pd;

            cppd.ShowDialog();

        }

        void pd_PrintPage(object sender, PrintPageEventArgs e)

        {

            Bitmap bit = new Bitmap(this.Width, this.Height);
            this.panel2.DrawToBitmap(bit, new Rectangle(0, 0, this.panel2.Width, this.panel2.Height));         //*********

    //this.axWebBrowser1.DrawToBitmap(bit, new Rectangle(0, 0, this.panel2.Width, this.panel2.Height));

            e.Graphics.DrawImage(bit, 0, 0);

            bit.Dispose();
        }

方法二:(推荐)

打印:

object NullValue = null;

axWebBrowser1.ExecWB(SHDocVw.OLECMDID.OLECMDID_PRINT, SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_PROMPTUSER, ref NullValue, ref NullValue);

打印预览:

this.axWebBrowser1.ExecWB(SHDocVw.OLECMDID.OLECMDID_PRINTPREVIEW, SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_DODEFAULT);

页面设置:

 axWebBrowser1.ExecWB(SHDocVw.OLECMDID.OLECMDID_PAGESETUP, SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_PROMPTUSER);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息