Winform程序打印及打印预览实现

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)


 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章