zoukankan      html  css  js  c++  java
  • winforms打印

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
    
        private void Form1_Load(object sender, EventArgs e)
        {
    
        }
    
        private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
        {
            ////设置字体样式
            //Font f = new System.Drawing.Font("微软雅黑", 16);
            //f = richTextBox1.Font;
            ////设置字体颜色
            //Brush b = new SolidBrush(richTextBox1.ForeColor);
    
            ////e.绘制.画字符串(要打印的文本,文本格式,画刷-颜色和纹理,位置坐标)
            //e.Graphics.DrawString(richTextBox1.Text, f, b, 20, 10);
    
    
            Image img = Image.FromFile(@"C:UserskylewDesktop	est.docx");
            //MemoryStream ms = new MemoryStream();
            //byte[] imagedata = null;
            //img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
            //imagedata = ms.GetBuffer();
    
            //Stream stream = new MemoryStream(imagedata);
            //Metafile metafile = new Metafile(stream);
            e.Graphics.DrawImage(img, new Rectangle(10, 10, 1000, 1000));
    
        }
    
        private void button1_Click(object sender, EventArgs e)
        {
            pageSetupDialog1.Document = printDocument1;
            pageSetupDialog1.ShowDialog();
        }
    
        private void button4_Click(object sender, EventArgs e)
        {
            DialogResult dr = fontDialog1.ShowDialog();
            if (dr == DialogResult.OK)
            {
                richTextBox1.Font = fontDialog1.Font;
                richTextBox1.ForeColor = fontDialog1.Color;
            }
        }
    
        private void button2_Click(object sender, EventArgs e)
        {
            printPreviewControl1.Document = printDocument1;
            //printPreviewDialog1.Document = printDocument1;
            //printPreviewDialog1.ShowDialog();
        }
    
        private void button3_Click(object sender, EventArgs e)
        {
            printDialog1.Document = printDocument1;
            DialogResult dr = printDialog1.ShowDialog();
            if (dr == DialogResult.OK)
            {
                printDocument1.Print();
            }
        }
    
        private void button5_Click(object sender, EventArgs e)
        {
            printPreviewDialog1.Document = printDocument1;
            DialogResult dr = printPreviewDialog1.ShowDialog();
        }
    }

    分页:

    int ii = 0;
    
    public void PrintReport(object sender, System.Drawing.Printing.PrintPageEventArgs e)
    {
        if (ii < 5) //如果将 if 改成 for 语句, 会将几页张合在一张纸上, 而达不到要求
        {
            Font font = new Font("宋休", 12 + 30 * ii);
            e.Graphics.DrawString(ii.ToString(), font, Brushes.Black, new Point(10, 10));
            ii++;
        }
        if (ii < 4) //以此数 4 为准而不是上面的5,即出现4次
        {
            e.HasMorePages = true;
        }
        else if (ii == 5)
        {
            e.HasMorePages = false;
        }
    }
    
    int ii = 0;
    public void PrintReport(object sender, System.Drawing.Printing.PrintPageEventArgs e)
    {
        Font font = new Font("宋休", 12 + 30 * ii);
        e.Graphics.DrawString(ii.ToString(), font, Brushes.Black, new Point(10, 10));
        ii++;
        if (ii < 5)  //如果把上面的语句放在 if 里, 会多产生一张空白页
        {
            e.HasMorePages = true;
        }
        else if (ii == 5)
        {
            e.HasMorePages = false;
        }
    }
  • 相关阅读:
    【转】 robotframework(rf)中对时间操作的datetime库常用关键字
    在RobotFramework--RIDE中把日期转化为整型进行运算
    Oracle中date转为timstam可以函数to_timestamp的方式来转化
    Java项目缺少.project文件
    数据库时间戳转换日期(MYSQL数据库)
    spring+struts+mybatis中关于报错org.hibernate.exception.GenericJDBCException: Connection is read-only. Queries leading to data modification are not allowed 的产生原因及解决方案
    新加字段问题(增加联合主键)
    集合问题
    数组面试题
    集合的问题
  • 原文地址:https://www.cnblogs.com/jizhiqiliao/p/10401256.html
Copyright © 2011-2022 走看看