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

C#打印原理解析及實例操作

開發 后端
C#打印原理是什么?這里向你介紹了C#打印原理的根本就是生成虛擬打印的文檔MDI文件,那具體的應用實例是什么呢?那么本文就向你介紹詳細內容。

C#打印原理其實就是生成MDI文件,那么什么是MDI文件呢?MDI是虛擬打印的文檔,系統碰到MDI的時候會自動以打印的方式處理。所以,不管用什么模板,什么方式;能在PrintPage事件處理中,生成一張要打印內容的圖片就OK了!

C#打印原理應用實例:

  1. #region 打印  
  2.  
  3. private void btnPrint_Click(object sender, EventArgs e)  
  4.  
  5. {  
  6. //C#打印原理之打印預覽  
  7. //PrintPreviewDialog ppd = new PrintPreviewDialog();  
  8.  
  9. PrintDocument pd = new PrintDocument();  
  10.  
  11. //C#打印原理之設置邊距  
  12.  
  13. Margins margin = new Margins(20, 20, 20, 20);  
  14.  
  15. pd.DefaultPageSettings.Margins = margin;  
  16.  
  17. ////C#打印原理之紙張設置默認  
  18.  
  19. //PaperSize pageSize = new PaperSize("First custom size", 800, 600);  
  20.  
  21. //pd.DefaultPageSettings.PaperSize = pageSize;  
  22.  
  23. //C#打印原理之打印事件設置  
  24.  
  25. pd.PrintPage += new PrintPageEventHandler(this.pd_PrintPage);  
  26.  
  27. //ppd.Document = pd;  
  28.  
  29. //ppd.ShowDialog();  
  30.  
  31. try 
  32.  
  33. {  
  34.  
  35. pd.Print();  
  36.  
  37. }  
  38.  
  39. catch (Exception ex)  
  40.  
  41. {  
  42.  
  43. MessageBox.Show(ex.Message, "打印出錯",  
  44.  
  45.  MessageBoxButtons.OK, MessageBoxIcon.Error);  
  46.  
  47. pd.PrintController.OnEndPrint(pd, new PrintEventArgs());  
  48.  
  49. }  
  50.  
  51. }  
  52.  
  53. //C#打印原理之打印事件處理  
  54.  
  55. private void pd_PrintPage(object sender, PrintPageEventArgs e)  
  56.  
  57. {  
  58.  
  59. string date = lblDate.Text; //當前日期  
  60.  
  61. string flowId = lblFlowId.Text; //流水號  
  62.  
  63. string payDate = PayDate.Year.ToString() + "年" +   
  64.  
  65. PayDate.Month.ToString() + "月"//應收年月  
  66.  
  67. string adminId = lblAdminId.Text;   //操作員編號  
  68.  
  69. string baseExpense = lblBaseExpense.Text; //應交基本費用  
  70.  
  71. string fine = lblFine.Text;   //罰款數目  
  72.  
  73. string upExpense = lblUpExpense.Text;   //上月上余  
  74.  
  75. string actualExpense = txtActualExpense.Text;   //實際應交費用  
  76.  
  77. string chineseExpense = DecimalToChinese.ConvertSum(actualExpense);    
  78.  //實際應交費用的中文大寫  
  79.  
  80. //C#打印原理之讀取圖片模板  
  81.  
  82. Image temp = Image.FromFile(@"Receipts.jpg");  
  83.  
  84. GetResultIntoImage(ref temp, UserId, flowId, date, baseExpense,  
  85.  
  86.  fine, upExpense, actualExpense, chineseExpense, payDate, adminId);  
  87.  
  88. int x = e.MarginBounds.X;  
  89.  
  90. int y = e.MarginBounds.Y;  
  91.  
  92. int width = temp.Width;  
  93.  
  94. int height = temp.Height;  
  95.  
  96. Rectangle destRect = new Rectangle(x, y, width, height);  
  97.  
  98. e.Graphics.DrawImage(temp, destRect, 0, 0, temp.Width,  
  99.  
  100.  temp.Height, System.Drawing.GraphicsUnit.Pixel);  
  101.  
  102. }  
  103.  
  104. /// <summary>  
  105.  
  106. /// 將收費結果填充到圖片模板  
  107. ///C#打印原理  
  108. /// </summary>  
  109.  
  110. private void GetResultIntoImage(  
  111.  
  112. ref Image temp,  
  113.  
  114. string userId,  
  115.  
  116. string flowId,  
  117.  
  118. string currentDate,  
  119.  
  120. string baseExpense, string actualExpense,  
  121.  
  122. string chineseExpense,  
  123.  
  124. string payDate,  
  125.  
  126. string adminName)  
  127.  
  128. {  
  129.  
  130. //C#打印原理之讀取圖片模板  
  131.  
  132. Graphics g = Graphics.FromImage(temp);  
  133.  
  134. Font f = new Font("宋體", 12);  
  135.  
  136. Brush b = new SolidBrush(Color.Black);  
  137.  
  138. //C#打印原理之填充數據到圖片模板(位置要在制作圖片模板的時候度量好)  
  139.  
  140. g.DrawImage(temp, 0, 0, temp.Width, temp.Height);  
  141.  
  142. g.DrawString(userId, f, b, 168, 105);  
  143.  
  144. g.DrawString(UserName, f, b, 166, 134);  
  145.  
  146. g.DrawString(flowId, f, b, 535, 105);  
  147.  
  148. g.DrawString(currentDate, f, b, 535, 134);  
  149.  
  150. g.DrawString(baseExpense, f, b, 219, 202);  
  151.  
  152. g.DrawString(fine, f, b, 372, 202);  
  153.  
  154. g.DrawString(upExpense, f, b, 486, 202);  
  155.  
  156. g.DrawString(actualExpense, f, b, 596, 202);  
  157.  
  158. g.DrawString(chineseExpense, f, b, 196, 238);  
  159.  
  160. g.DrawString(payDate, f, b, 176, 269);  
  161.  
  162. g.DrawString(adminName, f, b, 497, 298);  
  163.  
  164. g.Dispose();  
  165.  
  166. }  

C#打印原理的基本內容以及實例的解析就向你介紹到這里,希望對你了解和學習C#打印原理有所幫助。

【編輯推薦】

  1. C#打印設置實例解析
  2. C#Lpt端口打印類的操作淺析
  3. C#打印設置實現源碼詳解
  4. C#打印控件的使用實例淺析
  5. C#打印條碼操作的實例淺析
責任編輯:仲衡 來源: 網易博客
相關推薦

2009-08-26 12:14:44

C#打印設置

2009-08-19 16:09:15

C#操作Access

2009-08-26 13:48:31

C#打印條碼

2009-09-01 13:59:01

C#操作Excel

2009-08-24 10:37:27

C# 泛型

2009-09-09 14:40:15

C# XML解析

2009-08-31 10:18:00

C#靜態變量定義C#靜態變量

2009-08-18 10:47:40

C#枚舉類型

2009-09-09 13:57:28

C# XML解析

2009-09-07 06:31:32

C#窗體移動

2009-08-31 18:17:32

C#接口編程

2009-08-26 11:07:36

C#打印窗體

2009-08-26 11:32:37

C#打印文檔

2009-08-26 09:22:44

C#實現打印功能

2009-08-26 14:31:08

C#打印文件

2009-08-20 11:01:51

C#操作內存

2009-08-18 13:49:21

C# 操作Excel

2023-11-16 09:01:37

Hadoop數據庫

2009-08-26 10:43:14

C#實現打印功能

2009-08-31 17:16:12

C#實現接口
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人深夜福利网站 | 波多野吉衣在线播放 | 涩在线 | 日韩一区二区三区在线 | 毛片站| 免费在线a视频 | 麻豆hd| 人人射人人草 | 久久69精品久久久久久久电影好 | 欧美日韩国产精品激情在线播放 | 成年免费在线观看 | 日韩欧美手机在线 | 国产超碰人人爽人人做人人爱 | 精品日韩一区二区 | 中文字幕不卡 | av 一区二区三区 | 91久久国产综合久久91精品网站 | 精品无码久久久久久国产 | 成人亚洲精品久久久久软件 | 天天碰日日操 | 国产精品a久久久久 | 亚洲一区 | 国产精品毛片一区二区三区 | 国产精品美女www爽爽爽 | 国产精品久久久久久影院8一贰佰 | 成人免费看黄网站在线观看 | 免费一级欧美在线观看视频 | 亚洲成人自拍 | 91久久久www播放日本观看 | 欧美一区二区三区在线观看 | 精品国产不卡一区二区三区 | 91亚洲国产成人久久精品网站 | 午夜小电影 | 九七午夜剧场福利写真 | 欧美男人天堂 | 色婷婷国产精品综合在线观看 | 国产精品美女久久久久aⅴ国产馆 | 自拍 亚洲 欧美 老师 丝袜 | 日韩av网址在线观看 | 狠狠爱免费视频 | 一本久久a久久精品亚洲 |