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

C#打印原理解析及實(shí)例操作

開發(fā) 后端
C#打印原理是什么?這里向你介紹了C#打印原理的根本就是生成虛擬打印的文檔MDI文件,那具體的應(yīng)用實(shí)例是什么呢?那么本文就向你介紹詳細(xì)內(nèi)容。

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

C#打印原理應(yīng)用實(shí)例:

  1. #region 打印  
  2.  
  3. private void btnPrint_Click(object sender, EventArgs e)  
  4.  
  5. {  
  6. //C#打印原理之打印預(yù)覽  
  7. //PrintPreviewDialog ppd = new PrintPreviewDialog();  
  8.  
  9. PrintDocument pd = new PrintDocument();  
  10.  
  11. //C#打印原理之設(shè)置邊距  
  12.  
  13. Margins margin = new Margins(20, 20, 20, 20);  
  14.  
  15. pd.DefaultPageSettings.Margins = margin;  
  16.  
  17. ////C#打印原理之紙張?jiān)O(shè)置默認(rèn)  
  18.  
  19. //PaperSize pageSize = new PaperSize("First custom size", 800, 600);  
  20.  
  21. //pd.DefaultPageSettings.PaperSize = pageSize;  
  22.  
  23. //C#打印原理之打印事件設(shè)置  
  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; //當(dāng)前日期  
  60.  
  61. string flowId = lblFlowId.Text; //流水號  
  62.  
  63. string payDate = PayDate.Year.ToString() + "年" +   
  64.  
  65. PayDate.Month.ToString() + "月"//應(yīng)收年月  
  66.  
  67. string adminId = lblAdminId.Text;   //操作員編號  
  68.  
  69. string baseExpense = lblBaseExpense.Text; //應(yīng)交基本費(fèi)用  
  70.  
  71. string fine = lblFine.Text;   //罰款數(shù)目  
  72.  
  73. string upExpense = lblUpExpense.Text;   //上月上余  
  74.  
  75. string actualExpense = txtActualExpense.Text;   //實(shí)際應(yīng)交費(fèi)用  
  76.  
  77. string chineseExpense = DecimalToChinese.ConvertSum(actualExpense);    
  78.  //實(shí)際應(yīng)交費(fèi)用的中文大寫  
  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. /// 將收費(fèi)結(jié)果填充到圖片模板  
  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#打印原理之填充數(shù)據(jù)到圖片模板(位置要在制作圖片模板的時候度量好)  
  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#打印原理的基本內(nèi)容以及實(shí)例的解析就向你介紹到這里,希望對你了解和學(xué)習(xí)C#打印原理有所幫助。

【編輯推薦】

  1. C#打印設(shè)置實(shí)例解析
  2. C#Lpt端口打印類的操作淺析
  3. C#打印設(shè)置實(shí)現(xiàn)源碼詳解
  4. C#打印控件的使用實(shí)例淺析
  5. C#打印條碼操作的實(shí)例淺析
責(zé)任編輯:仲衡 來源: 網(wǎng)易博客
相關(guān)推薦

2009-08-26 12:14:44

C#打印設(shè)置

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#靜態(tài)變量定義C#靜態(tài)變量

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 14:31:08

C#打印文件

2009-08-26 11:07:36

C#打印窗體

2009-08-26 09:22:44

C#實(shí)現(xiàn)打印功能

2009-08-26 11:32:37

C#打印文檔

2009-08-20 11:01:51

C#操作內(nèi)存

2009-08-18 13:49:21

C# 操作Excel

2023-11-16 09:01:37

Hadoop數(shù)據(jù)庫

2009-08-26 10:43:14

C#實(shí)現(xiàn)打印功能

2009-08-31 17:16:12

C#實(shí)現(xiàn)接口
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 青青久久 | 人人九九| 免费黄色日本 | av在线免费观看网址 | 欧美精品一区二区三区在线播放 | 美日韩精品| 国产在线观看一区二区三区 | 国产午夜精品久久久 | 久久精品在线免费视频 | 亚洲在线一区二区 | 久色网 | 国产精品日韩欧美一区二区三区 | 91在线观看 | 一区在线视频 | 午夜网站视频 | 精品国产一区二区国模嫣然 | 国产成人精品在线播放 | 久久99蜜桃综合影院免费观看 | 天天拍夜夜爽 | 日本在线看片 | 久久免费精品 | 精品国产乱码久久久久久蜜柚 | www免费视频| 人妖av| 国产精品免费在线 | 日本电影韩国电影免费观看 | 日韩欧美在线观看视频 | 亚洲一区二区av在线 | 精品国产一区二区国模嫣然 | 精品欧美乱码久久久久久 | 激情三区| 午夜久久久久久久久久一区二区 | 中文字幕在线精品 | 成人免费视频网站在线看 | 国产精品综合一区二区 | 99re热精品视频国产免费 | 久草色播 | 亚洲精品亚洲人成人网 | 九九热精品视频 | 国产乱肥老妇国产一区二 | 91影库|