分享

打印功能及打印预览实现(C#

 务实耐久 2014-01-19

 打印、预览

int sub 0;

private void printText(string text, System.Drawing.Printing.PrintPageEventArgs e)

{

     //取得Graphics实例

     Graphics e.Graphics;

     //获得相关点坐标、长度、宽度

     int e.PageSettings.Margins.Left;

    int e.PageSettings.Margins.Right;

    int width e.PageSettings.PaperSize.Width e.PageSettings.Margins.Left e.PageSettings.Margins.Right;

    int height e.PageSettings.PaperSize.Height e.PageSettings.Margins.Top e.PageSettings.Margins.Bottom;

    int charnum;

    int line;

    //设置字体

Font font new Font("宋体",15);

//打印string

    g.MeasureString(text.Substring(sub), font, new SizeF(width, height 10), new StringFormat(), out charnum, out line);

    //设置截取位置

    g.DrawString(text.Substring(sub), font, Brushes.Black, new RectangleF(x, y, width, height), new StringFormat());

    sub += charnum;

    if (sub this.textBox1.Text.Length)

    {

        e.HasMorePages true;

    }

    else

    {

         e.HasMorePages false;

         sub 0;

}

}

//打印预览

private void button1_Click(object sender, EventArgs e)

{

     //注意指定其Document(获取或设置要预览的文档)属性

     this.printPreviewDialog1.Document this.printDocument1;

    //ShowDialog方法:将窗体显示为模式对话框,并将当前活动窗口设置为它的所有者

     this.printPreviewDialog1.ShowDialog();          

}

//打印

private void button2_Click(object sender, EventArgs e)

{

     //注意指定Document(获取或设置一个值)属性

     this.printDialog1.Document this.printDocument1;

     //ShowDialog方法:用默认的所有者运行通用对话框

     if (this.printDialog1.ShowDialog() == DialogResult.OK)

                                                   //DialogResult指定标识符以指定对话框的返回值

           //触发PrintDocument的PrintPage事件

           this.printDocument1.Print();    //Print方法:开始文档的打印进程

     }

}

//printDocument1控件的PrintPage事件(双击printDocument1控件生成)

 private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)

{

      printText(textBox1.Text, e);                      //打印文本

   e.Graphics.DrawImage(pictureBox1.Image, 20, 20);   //打印图片

}

 // printDocument1控件:定义一个向打印机发送输出的对象;

 // printDialog1控件:显示一个对话框,允许用户选择打印机并选择其他打印选项;

 // printPreviewDialog1控件:显示一个对话框,向用户显示关联文档打印时的样子;打印功能及打印预览实现(C#--WinForm)


 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多