使用c#实现文档的打印功能,输出PDF格式文件的winform程序(使用windows自带的打印功能,不用其他任何工具)

使用c#实现文档的打印功能,输出PDF格式文件的winform程序(使用windows自带的打印功能,不用其他任何工具)

最近在使用c#编写winform程序时,有一个需求,就是需要将显示的结果输出保存下来,保存到本机。

想到C#是否有这样的控件或者功能,能够满足我这个需求。

“万物皆可百度!” 噗! >_<

然后我就百度搜索相关的内容,看看是否可以给我一点提示或启发。终于,功夫不负有心人!找到了很多的答案后,我再结合着自己的需求,按照自己的思路最终实现了我想要的功能。

于是在这里分享一下,也就当做给自己做个总结吧。

在编写winform程序时,左边工具箱中,有很多的选项。
原来,专门有一栏是“打印”栏!!!
展开之后,发现有几个所谓的“控件”。

在这里插入图片描述
pageSetupDialog:打印设置对话框控件。是一个页面设置对话框,用于在Windows应用程序中设置打印页面的详细信息。

printDialog:打印时的对话框。

printDocument:可以设置打印文档的属性。(字体、字号、颜色等)。

printPreviewControl:打印预览控件。

printPreviewDialog:打印预览对话框。

winform程序

如图设置好winform程序。
在这里插入图片描述

代码

双击“printDocument1”控件,编辑代码。

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

            //设置字体样式
            Font f = new System.Drawing.Font("宋体", 25);
            f = textBox1.Font;
            //设置字体颜色
            Brush b = new SolidBrush(textBox1.ForeColor);
            //e.绘制.画字符串(要打印的文本,文本格式,画刷-颜色和纹理,位置座标)
            e.Graphics.DrawString(textBox1.Text, f, b, 20, 10);
        }

双击“预览”控件,编辑代码。

 private void button1_Click(object sender, EventArgs e)
        {
            pageSetupDialog1.Document = printDocument1;
            pageSetupDialog1.ShowDialog();
            printPreviewControl1.Document = printDocument1;
        }

双击“打印”控件,编辑代码。

       private void button2_Click(object sender, EventArgs e)
        {
            printDialog1.Document = printDocument1;
            DialogResult dr = printDialog1.ShowDialog();
            if (dr == DialogResult.OK)
            {
                printDocument1.Print();
            }
        }

验证

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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