日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
C#打印源碼的具體實現(xiàn)

C#打印源碼也是打印控件的功能之一,這里介紹的C#打印源碼可以實現(xiàn)自動打印處理,不過需要mdi文件的支持。

10年積累的成都做網(wǎng)站、網(wǎng)站設計經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡服務。我雖然不認識你,你也不認識我。但先網(wǎng)站設計后付款的網(wǎng)站建設流程,更有瑪曲免費網(wǎng)站建設讓你可以放心的選擇與我們合作。

打印的原理是:生成mdi文件,系統(tǒng)碰到mdi的時候會自動以打印的方式處理。所以,不管用什么模板,什么方式;能在PrintPage事件處理中,生成一張要打印內(nèi)容的圖片就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; //罰款數(shù)目  
  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.         /// 將收費結(jié)果填充到圖片模板  
  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.    //填充數(shù)據(jù)到圖片模板(位置要在制作圖片模板的時候度量好)  
  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#交錯數(shù)組淺析

分享名稱:C#打印源碼的具體實現(xiàn)
文章分享:http://www.5511xx.com/article/djshiho.html