成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C#打印源碼的具體實現

開發 后端
這里將介紹C#打印源碼的具體實現,打印在.NET中的實現在一些工具的幫助下,不會很困難,但也要注意參數的調整。希望本文對大家有所幫助。
C#打印源碼也是打印控件的功能之一,這里介紹的C#打印源碼可以實現自動打印處理,不過需要mdi文件的支持。

打印的原理是:生成mdi文件,系統碰到mdi的時候會自動以打印的方式處理。所以,不管用什么模板,什么方式;能在PrintPage事件處理中,生成一張要打印內容的圖片就OK了!

C#打印源碼如下:

  1. #region 打印  
  2.         private void btnPrint_Click(object sender, EventArgs e)  
  3.         {  
  4.             //打印預覽  
  5.             //PrintPreviewDialog ppd = new PrintPreviewDialog();  
  6.             PrintDocument pd = new PrintDocument();  
  7.             //設置邊距  
  8.             Margins margin = new Margins(20, 20, 20, 20);  
  9.             pd.DefaultPageSettings.Margins = margin;  
  10.             ////紙張設置默認  
  11.             //PaperSize pageSize = new PaperSize("First custom size", 800, 600);  
  12.             //pd.DefaultPageSettings.PaperSize = pageSize;  
  13.             //打印事件設置  
  14.             pd.PrintPage += new PrintPageEventHandler(this.pd_PrintPage);  
  15.             //ppd.Document = pd;  
  16.             //ppd.ShowDialog();  
  17.             try 
  18.             {  
  19.                 pd.Print();  
  20.             }  
  21.             catch (Exception ex)  
  22.             {  
  23.                 MessageBox.Show(ex.Message, "打印出錯", MessageBoxButtons.OK, MessageBoxIcon.Error);  
  24.                 pd.PrintController.OnEndPrint(pd, new PrintEventArgs());  
  25.             }  
  26.         }  
  27.         //打印事件處理  
  28.         private void pd_PrintPage(object sender, PrintPageEventArgs e)  
  29.         {  
  30.             string date = lblDate.Text; //當前日期  
  31.             string flowId = lblFlowId.Text; //流水號  
  32.             string payDate = PayDate.Year.ToString() + "年" + PayDate.Month.ToString() + "月"//應收年月  
  33.             string adminId = lblAdminId.Text; //操作員編號  
  34.             string baseExpense = lblBaseExpense.Text; //應交基本費用  
  35.             string fine = lblFine.Text; //罰款數目  
  36.             string upExpense = lblUpExpense.Text; //上月上余  
  37.             string actualExpense = txtActualExpense.Text; //實際應交費用  
  38.             string chineseExpense = DecimalToChinese.ConvertSum(actualExpense); //實際應交費用的中文大寫  
  39.  
  40.    //讀取圖片模板  
  41.             Image temp = Image.FromFile(@"Receipts.jpg");  
  42.             GetResultIntoImage(ref temp, UserId, flowId, date, baseExpense, fine, upExpense, actualExpense, chineseExpense, payDate, adminId);  
  43.             int x = e.MarginBounds.X;  
  44.             int y = e.MarginBounds.Y;  
  45.             int width = temp.Width;  
  46.             int height = temp.Height;  
  47.             Rectangle destRect = new Rectangle(x, y, width, height);  
  48.             e.Graphics.DrawImage(temp, destRect, 0, 0, temp.Width, temp.Height, System.Drawing.GraphicsUnit.Pixel);  
  49.         }  
  50.  
  51.         ///   
  52.         /// 將收費結果填充到圖片模板  
  53.         /// 
  54.  
  55.         private void GetResultIntoImage(  
  56.             ref Image temp,  
  57.             string userId,  
  58.             string flowId,  
  59.             string currentDate,  
  60.             string baseExpense,  
  61.             string fine,  
  62.             string upExpense,  
  63.             string actualExpense,  
  64.             string chineseExpense,  
  65.             string payDate,  
  66.             string adminName)  
  67.         {  
  68.             //讀取圖片模板  
  69.             Graphics g = Graphics.FromImage(temp);  
  70.  
  71.             Font f = new Font("宋體", 12);  
  72.             Brush b = new SolidBrush(Color.Black);  
  73.               
  74.    //填充數據到圖片模板(位置要在制作圖片模板的時候度量好)  
  75.             g.DrawImage(temp, 0, 0, temp.Width, temp.Height);  
  76.             g.DrawString(userId, f, b, 168, 105);  
  77.             g.DrawString(UserName, f, b, 166, 134);  
  78.             g.DrawString(flowId, f, b, 535, 105);  
  79.             g.DrawString(currentDate, f, b, 535, 134);  
  80.             g.DrawString(baseExpense, f, b, 219, 202);  
  81.             g.DrawString(fine, f, b, 372, 202);  
  82.             g.DrawString(upExpense, f, b, 486, 202);  
  83.             g.DrawString(actualExpense, f, b, 596, 202);  
  84.             g.DrawString(chineseExpense, f, b, 196, 238);  
  85.             g.DrawString(payDate, f, b, 176, 269);  
  86.             g.DrawString(adminName, f, b, 497, 298);  
  87.  
  88.             g.Dispose();  
  89.         }  
  90.         #endregion  

【編輯推薦】

  1. C# GreetPeople方法
  2. C# Hashtable對象分析
  3. 常用C# Arraylist的介紹
  4. C# Observer設計模式
  5. C#交錯數組淺析
責任編輯:彭凡 來源: 博客園
相關推薦

2009-08-26 12:59:08

C#打印設置

2009-08-26 09:54:45

C#打印預覽C#打印

2009-08-26 13:22:24

C#打印程序

2009-09-11 09:59:47

2009-08-26 09:22:44

C#實現打印功能

2009-08-26 11:32:37

C#打印文檔

2009-08-26 11:07:36

C#打印窗體

2009-08-26 10:43:14

C#實現打印功能

2009-09-03 14:49:49

C#實現網絡點對點

2009-08-31 10:38:34

C#變量初始化

2011-05-20 16:07:29

C#

2009-08-31 13:53:03

C#創建一個文件

2009-09-27 10:43:13

C#合并多個WORD文

2009-08-26 14:31:08

C#打印文件

2009-09-02 16:46:12

C# GIS

2009-08-26 12:14:44

C#打印設置

2009-08-26 13:36:33

C#打印控件

2009-08-26 13:48:31

C#打印條碼

2009-08-26 14:48:21

C#打印分頁

2009-09-01 18:29:10

C#繼承C#多態
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: a在线免费观看 | 日韩成人av在线 | 国产日韩欧美在线 | 在线成人 | 黄片毛片在线观看 | 久久久久久久久91 | 国产精品一区在线观看 | 国产欧美日韩一区 | 紧缚调教一区二区三区视频 | 九九伊人sl水蜜桃色推荐 | 亚洲成人日韩 | 欧美日韩综合精品 | 三级黄视频在线观看 | 91五月天| 一级黄色片一级黄色片 | 一区二区精品 | 日本h片在线观看 | 国产丝袜一区二区三区免费视频 | 亚洲一二三区av | 99re在线视频| 欧洲一区视频 | 欧美日韩精品影院 | 国产在线看片 | 国产精品日韩在线观看 | 成人做爰www免费看 午夜精品久久久久久久久久久久 | 欧美一级片在线看 | 亚洲男人的天堂网站 | 91色视频在线观看 | 精品国产一区二区三区性色av | 国产一区黄色 | 亚洲成人免费网址 | www狠狠爱com | 精品久久国产视频 | av中文字幕在线观看 | 国产精品国产精品 | 欧美久久久久久 | 911精品美国片911久久久 | 成人一区二区三区视频 | 国产 日韩 欧美 中文 在线播放 | 国产精品久久久久久模特 | 色就是色欧美 |