免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

如何利用C#打印文件

這篇文章主要介紹“如何利用C#打印文件”,在日常操作中,相信很多人在如何利用C#打印文件問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何利用C#打印文件”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

創新互聯2013年至今,先為柳河等服務建站,柳河等地企業,進行企業商務咨詢服務。為柳河企業網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。

C#打印文件的過程中,需要對所打印文件進行預覽,對版式也有所要求。C#打印文件期間,也有可能出現錯誤推出,這些都是我們開發人員需要考慮的問題。

以下是C#打印文件的代碼。

using System;  using System.Drawing;  using System.Collections;  using System.ComponentModel;  using System.Windows.Forms;  using System.Data;  using System.IO;  using System.Text;  using System.Drawing.Printing;   namespace PrintDemo  ...{      /**//// <summary>      /// Form1 的摘要說明。      /// </summary>      public class DemoForm : System.Windows.Forms.Form      ...{          private System.Windows.Forms.TextBox txtDoc;          private System.Windows.Forms.MainMenu mnuMain;          private System.Windows.Forms.MenuItem mnuFile;          private System.Windows.Forms.MenuItem mnuFileOpen;          private System.Windows.Forms.MenuItem mnuFilePrint;          private System.Windows.Forms.MenuItem mnuFormat;          private System.Windows.Forms.MenuItem mnuFormatFont;          private System.Windows.Forms.OpenFileDialog dlgOpen;          private System.Windows.Forms.FontDialog dlgFont;          private System.Drawing.Printing.PrintDocument pdoc;          /**//// <summary>          /// 必需的設計器變量。          /// </summary>          private System.ComponentModel.Container components = null;          private System.Windows.Forms.MenuItem mnuFilePrintPreview;          private System.Windows.Forms.MenuItem mnuFilePageSetup;          private System.Windows.Forms.PrintPreviewDialog ppd;          private System.Windows.Forms.PageSetupDialog dlgPageSetup;          private System.Windows.Forms.PrintDialog dlgPrinterSetup;          private int totalLines;           public DemoForm()          ...{              //              // Windows 窗體設計器支持所必需的              //              InitializeComponent();               //              // TODO: 在 InitializeComponent 調用后添加任何構造函數代碼              //          }           /**//// <summary>          /// 清理所有正在使用的資源。          /// </summary>          protected override void Dispose( bool disposing )          ...{              if( disposing )              ...{                  if (components != null)                   ...{                      components.Dispose();                  }              }              base.Dispose( disposing );          }           Windows 窗體設計器生成的代碼#region Windows 窗體設計器生成的代碼          /**//// <summary>          /// 設計器支持所需的方法 - 不要使用代碼編輯器修改          /// 此方法的內容。          /// </summary>          private void InitializeComponent()          ...{              System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(DemoForm));              this.txtDoc = new System.Windows.Forms.TextBox();              this.mnuMain = new System.Windows.Forms.MainMenu();              this.mnuFile = new System.Windows.Forms.MenuItem();              this.mnuFileOpen = new System.Windows.Forms.MenuItem();              this.mnuFilePrint = new System.Windows.Forms.MenuItem();              this.mnuFormat = new System.Windows.Forms.MenuItem();              this.mnuFormatFont = new System.Windows.Forms.MenuItem();              this.dlgOpen = new System.Windows.Forms.OpenFileDialog();              this.dlgFont = new System.Windows.Forms.FontDialog();              this.pdoc = new System.Drawing.Printing.PrintDocument();              this.mnuFilePrintPreview = new System.Windows.Forms.MenuItem();              this.mnuFilePageSetup = new System.Windows.Forms.MenuItem();              this.ppd = new System.Windows.Forms.PrintPreviewDialog();              this.dlgPageSetup = new System.Windows.Forms.PageSetupDialog();              this.dlgPrinterSetup = new System.Windows.Forms.PrintDialog();              this.SuspendLayout();              //               // txtDoc              //               this.txtDoc.Dock = System.Windows.Forms.DockStyle.Fill;              this.txtDoc.Location = new System.Drawing.Point(0, 0);              this.txtDoc.Multiline = true;              this.txtDoc.Name = "txtDoc";              this.txtDoc.ScrollBars = System.Windows.Forms.ScrollBars.Both;              this.txtDoc.Size = new System.Drawing.Size(560, 309);              this.txtDoc.TabIndex = 0;              this.txtDoc.Text = "";              this.txtDoc.WordWrap = false;              this.txtDoc.TextChanged += new System.EventHandler(this.txtDoc_TextChanged);              //               // mnuMain              //               this.mnuMain.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] ...{                                                                                      this.mnuFile,                                                                                      this.mnuFormat});              //               // mnuFile              //               this.mnuFile.Index = 0;              this.mnuFile.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] ...{                                                                                      this.mnuFileOpen,                                                                                      this.mnuFilePageSetup,                                                                                      this.mnuFilePrintPreview,                                                                                      this.mnuFilePrint});              this.mnuFile.Text = "文件(&F)";              //               // mnuFileOpen              //               this.mnuFileOpen.Index = 0;              this.mnuFileOpen.Text = "打開(&O)...";              this.mnuFileOpen.Click += new System.EventHandler(this.mnuFileOpen_Click);              //               // mnuFilePrint              //               this.mnuFilePrint.Index = 3;              this.mnuFilePrint.Text = "打印(&P)...";              this.mnuFilePrint.Click += new System.EventHandler(this.mnuFilePrint_Click);              //               // mnuFormat              //               this.mnuFormat.Index = 1;              this.mnuFormat.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] ...{                                                                                        this.mnuFormatFont});              this.mnuFormat.Text = "格式(&F)";              //               // mnuFormatFont              //               this.mnuFormatFont.Index = 0;              this.mnuFormatFont.Text = "字體(&O)";              this.mnuFormatFont.Click += new System.EventHandler(this.mnuFormatFont_Click);              //               // dlgOpen              //               this.dlgOpen.Filter = "文本文件|*.txt|所有文件|*.*";              //               // pdoc              //               this.pdoc.DocumentName = "abc";              this.pdoc.BeginPrint += new System.Drawing.Printing.PrintEventHandler(this.pdoc_BeginPrint);              this.pdoc.EndPrint += new System.Drawing.Printing.PrintEventHandler(this.pdoc_EndPrint);              this.pdoc.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(this.pdoc_PrintPage);              //               // mnuFilePrintPreview              //               this.mnuFilePrintPreview.Index = 2;              this.mnuFilePrintPreview.Text = "打印預覽...";              this.mnuFilePrintPreview.Click += new System.EventHandler(this.mnuFilePrintPreview_Click);              //               // mnuFilePageSetup              //               this.mnuFilePageSetup.Index = 1;              this.mnuFilePageSetup.Text = "頁面設置...";              this.mnuFilePageSetup.Click += new System.EventHandler(this.mnuFilePageSetup_Click);              //               // ppd              //               this.ppd.AutoScrollMargin = new System.Drawing.Size(0, 0);              this.ppd.AutoScrollMinSize = new System.Drawing.Size(0, 0);              this.ppd.ClientSize = new System.Drawing.Size(400, 300);              this.ppd.Document = this.pdoc;              this.ppd.Enabled = true;              this.ppd.Icon = ((System.Drawing.Icon)(resources.GetObject("ppd.Icon")));              this.ppd.Location = new System.Drawing.Point(317, 17);              this.ppd.MinimumSize = new System.Drawing.Size(375, 250);              this.ppd.Name = "ppd";              this.ppd.TransparencyKey = System.Drawing.Color.Empty;              this.ppd.Visible = false;              //               // dlgPageSetup              //               this.dlgPageSetup.Document = this.pdoc;              //               // dlgPrinterSetup              //               this.dlgPrinterSetup.Document = this.pdoc;              //               // DemoForm              //               this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);              this.ClientSize = new System.Drawing.Size(560, 309);              this.Controls.Add(this.txtDoc);              this.Menu = this.mnuMain;              this.Name = "DemoForm";              this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;              this.Text = "打印";              this.ResumeLayout(false);           }          #endregion           /**//// <summary>          /// 應用程序的主入口點。          /// </summary>          [STAThread]          static void Main()           ...{              Application.Run(new DemoForm());          }           private void mnuFileOpen_Click(object sender, System.EventArgs e)          ...{              if (dlgOpen.ShowDialog()==DialogResult.OK)              ...{                  StreamReader sr=null;                  try                 ...{                      sr=new StreamReader(dlgOpen.FileName,Encoding.Default,true);                      txtDoc.Text=sr.ReadToEnd();                  }                  catch                 ...{                      MessageBox.Show("打開文件失敗!","錯誤",MessageBoxButtons.OK,MessageBoxIcon.Error);                  }                  finally                 ...{                      if (sr!=null) sr.Close();                  }              }          }           private void mnuFormatFont_Click(object sender, System.EventArgs e)          ...{              dlgFont.Font=txtDoc.Font;              if (dlgFont.ShowDialog()==DialogResult.OK)              ...{                  txtDoc.Font=dlgFont.Font;              }          }           private void pdoc_BeginPrint(object sender, System.Drawing.Printing.PrintEventArgs e)          ...{              //MessageBox.Show("開始打印啦");          }           private void pdoc_EndPrint(object sender, System.Drawing.Printing.PrintEventArgs e)          ...{              //MessageBox.Show("打印結束");          }           private void pdoc_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)          ...{              Graphics g=e.Graphics;              float lineHeight=txtDoc.Font.GetHeight(g);              int linesPerPage=(int)(e.MarginBounds.Height/lineHeight);              int count=0;  //本頁已打印行數               while (count<linesPerPage && totalLines<txtDoc.Lines.Length)              ...{                  g.DrawString(txtDoc.Lines[totalLines],txtDoc.Font,Brushes.Black,e.MarginBounds.X,e.MarginBounds.Y+lineHeight*count);                  count++;                  totalLines++;              }               if (totalLines<txtDoc.Lines.Length)              ...{                  e.HasMorePages=true;              }              else             ...{                  e.HasMorePages=false;                  totalLines=0;              }          }           private void mnuFilePrint_Click(object sender, System.EventArgs e)          ...{              if (dlgPrinterSetup.ShowDialog()==DialogResult.OK)              ...{                  pdoc.Print();  //開始執行打印              }          }           private void txtDoc_TextChanged(object sender, System.EventArgs e)          ...{                    }           private void mnuFilePrintPreview_Click(object sender, System.EventArgs e)          ...{              ppd.ShowDialog();          }           private void mnuFilePageSetup_Click(object sender, System.EventArgs e)          ...{              Margins oldMargins=dlgPageSetup.PageSettings.Margins;              dlgPageSetup.PageSettings.Margins=new Margins((int)(oldMargins.Left*2.54),(int)(oldMargins.Right*2.54),(int)(oldMargins.Top*2.54),(int)(oldMargins.Bottom*2.54));              if (dlgPageSetup.ShowDialog()==DialogResult.Cancel)              ...{                  dlgPageSetup.PageSettings.Margins=oldMargins;              }          }      }  }

到此,關于“如何利用C#打印文件”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注創新互聯網站,小編會繼續努力為大家帶來更多實用的文章!

分享文章:如何利用C#打印文件
URL分享:http://newbst.com/article36/jhcjpg.html

成都網站建設公司_創新互聯,為您提供微信公眾號域名注冊小程序開發網站營銷定制網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

h5響應式網站建設