使用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();
            }
        }

驗證

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

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