精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

C#打印文本文件實例詳解

開發(fā) 后端
C#打印文本文件是如何實現(xiàn)的呢?C#打印文本文件用到的類是什么呢?C#打印文本文件實現(xiàn)的效果是什么呢?那么本文就向你介紹具體的內(nèi)容。

這是一個C#打印文本文件的實現(xiàn)類庫,這個程序的功能包括:C#打印文本文件預(yù)覽、C#打印文本文件。C#文本文件的打印時可以選擇打印機,可以指定文本文件打印的頁碼范圍。調(diào)用方法非常簡單,讓我們開始吧:

  1. TextFilePrinter p = new TextFilePrinter(tbxFileName.Text);  
  2. p.View();// 打印預(yù)覽  
  3. p.Print(); // 打印文件 

使用 TextFilePrinter 類的以下構(gòu)造函數(shù)可以指定打印時使用的字體:

  1. TextFilePrinter(string fileName,   
  2.  
  3. Encoding theEncode, Font theFont)  

下面測試C#打印文本文件實現(xiàn)程序運行時的截圖:

程序運行 

點擊“預(yù)覽”按鈕后:

點擊“預(yù)覽”按鈕 

點擊“打印”按鈕后:

點擊“打印”按鈕 

這幅圖中的打印機:“Microsoft Office Doument Image Writer”是 Microsoft Office 2003 軟件提供一個虛擬打印機,用來調(diào)試打印程序非常方便(使用“打印預(yù)覽”也可以調(diào)試打印程序,但“打印預(yù)覽”只能使用默認的打印機和默認的打印屬性,也不能設(shè)置頁碼范圍),可以設(shè)置打印屬性和頁碼范圍以及打印份數(shù)。使用它來調(diào)試打印程序,可以節(jié)省不少打印紙。為建設(shè)節(jié)約型社會作貢獻 :)

 

這幅圖就是該虛擬打印機在屏幕上的顯示的結(jié)果。

這里是測試C#打印文本文件程序的源代碼:

  1. // PrintFile.cs - 文件打印程序  
  2. // 編譯方法: csc /t:winexe PrintFile.cs TextFilePrinter.cs  
  3.  
  4. using System;  
  5. using System.Drawing;  
  6. using System.Windows.Forms;  
  7. using Skyiv.Util;  
  8.  
  9. namespace Skyiv.Ben.Test  
  10. {  
  11. class PrintFileForm : Form  
  12. {  
  13. TextBox tbxFileName;  
  14.  
  15. public PrintFileForm()  
  16. {  
  17. SuspendLayout();  
  18.  
  19. Button btnFileName = new Button();  
  20. btnFileName.Text = "文件名";  
  21. btnFileName.Location = new Point(10, 10);  
  22. btnFileName.Size = new Size(60, 24);  
  23. btnFileName.Click += new EventHandler(BtnFileName_Click);  
  24.  
  25. Button btnPrint = new Button();  
  26. btnPrint.Text = "打印";  
  27. btnPrint.Location = new Point(75, 10);  
  28. btnPrint.Size = new Size(60, 24);  
  29. btnPrint.Click += new EventHandler(BtnPrint_Click);  
  30.  
  31. Button btnView = new Button();  
  32. btnView.Text = "預(yù)覽";  
  33. btnView.Location = new Point(140, 10);  
  34. btnView.Size = new Size(60, 24);  
  35. btnView.Click += new EventHandler(BtnView_Click);  
  36.  
  37. tbxFileName = new TextBox();  
  38. tbxFileName.Text = "PrintFile.cs";  
  39. tbxFileName.Location = new Point(10, 44);  
  40. tbxFileName.Size = new Size(190, 20);  
  41. tbxFileName.ReadOnly = true;  
  42. tbxFileName.Anchor = (  
  43. AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right);  
  44.  
  45. Controls.AddRange(new Control[]{  
  46. btnFileName, btnPrint, btnView, tbxFileName});  
  47. Text = "文本文件打印程序";  
  48. ClientSize = new Size(210, 80);  
  49.  
  50. ResumeLayout(false);  
  51. }  
  52.  
  53. void BtnFileName_Click(object sender, EventArgs e)  
  54. {  
  55. OpenFileDialog dlg = new OpenFileDialog();  
  56. if(dlg.ShowDialog() != DialogResult.OK) return;  
  57. tbxFileName.Text = dlg.FileName;  
  58. }  
  59.  
  60. void BtnPrint_Click(object sender, EventArgs e)  
  61. {  
  62. TextFilePrinter p = new TextFilePrinter(tbxFileName.Text);  
  63. p.Print();  
  64. }  
  65.  
  66. void BtnView_Click(object sender, EventArgs e)  
  67. {  
  68. TextFilePrinter p = new TextFilePrinter(tbxFileName.Text);  
  69. p.View();  
  70. }  
  71.  
  72. static void Main()  
  73. {  
  74. Application.Run(new PrintFileForm());  
  75. }  
  76. }  
  77. }  

這里是C#打印文本文件實現(xiàn)類的源代碼:

  1. using System;  
  2. using System.Drawing;  
  3. using System.Drawing.Printing;  
  4. using System.Windows.Forms;  
  5. using System.IO;  
  6. using System.Text;  
  7.  
  8. namespace Skyiv.Util  
  9. {  
  10. sealed class TextFilePrinter  
  11. {  
  12. string fileName;  
  13. Encoding theEncode;  
  14. Font theFont;  
  15. StreamReader srToPrint;  
  16. int currPage;  
  17.  
  18. public TextFilePrinter(string fileName)  
  19. this(fileName,   
  20. Encoding.GetEncoding("GB18030"), new Font("新宋體", 10))  
  21. {  
  22. }  
  23.  
  24. public TextFilePrinter(string fileName,   
  25. Encoding theEncode, Font theFont)  
  26. {  
  27. this.fileName = fileName;  
  28. this.theEncode = theEncode;  
  29. this.theFont = theFont;  
  30. }  
  31.  
  32. public void Print()  
  33. {  
  34. using (srToPrint =   
  35. new StreamReader(fileName, theEncode))  
  36. {  
  37. PrintDialog dlg = new PrintDialog();  
  38. dlg.Document = GetPrintDocument();  
  39. dlg.AllowSomePages = true;  
  40. dlg.AllowPrintToFile = false;  
  41. if (dlg.ShowDialog() ==   
  42. DialogResult.OK) dlg.Document.Print();  
  43. }  
  44. }  
  45.  
  46. public void View()  
  47. {  
  48. using (srToPrint =   
  49. new StreamReader(fileName, theEncode))  
  50. {  
  51. PrintPreviewDialog dlg = new PrintPreviewDialog();  
  52. dlg.Document = GetPrintDocument();  
  53. dlg.ShowDialog();  
  54. }  
  55. }  
  56.  
  57. PrintDocument GetPrintDocument()  
  58. {  
  59. currPage = 1;  
  60. PrintDocument doc = new PrintDocument();  
  61. doc.DocumentName = fileName;  
  62. doc.PrintPage +=   
  63. new PrintPageEventHandler(PrintPageEvent);  
  64. return doc;  
  65. }  
  66.  
  67. void PrintPageEvent(object sender,   
  68. PrintPageEventArgs ev)  
  69. {  
  70. string line = null;  
  71. float linesPerPage =   
  72. ev.MarginBounds.Height / theFont.GetHeight(ev.Graphics);  
  73. bool isSomePages =   
  74. ev.PageSettings.PrinterSettings.PrintRange ==   
  75. PrintRange.SomePages;  
  76. if (isSomePages)  
  77. {  
  78. while (currPage   
  79. < ev.PageSettings.PrinterSettings.FromPage)  
  80. {  
  81. for (int count = 0; count   
  82. < linesPerPage; count++)  
  83. {  
  84. line = srToPrint.ReadLine();  
  85. if (line == nullbreak;  
  86. }  
  87. if (line == nullreturn;  
  88. currPage++;  
  89. }  
  90. if (currPage >   
  91. ev.PageSettings.PrinterSettings.ToPage) return;  
  92. }  
  93. for (int count = 0; count < linesPerPage; count++)  
  94. {  
  95. line = srToPrint.ReadLine();  
  96. if (line == nullbreak;  
  97. ev.Graphics.DrawString(line,  
  98.  theFont, Brushes.Black, ev.MarginBounds.Left,  
  99. ev.MarginBounds.Top + (  
  100. count * theFont.GetHeight(ev.Graphics)),   
  101. new StringFormat());  
  102. }  
  103. currPage++;  
  104. if (isSomePages &&  
  105.  currPage > ev.PageSettings.PrinterSettings.ToPage) return;  
  106. if (line != null) ev.HasMorePages = true;  
  107. }  
  108. }  
  109. }  

這些程序都相當(dāng)簡當(dāng)明了,這里就不再解釋了。

這個類庫有個缺點:當(dāng)C#文本文件中的一行不能在打印紙的一行中打印完時,該行的后半部就丟失了。

C#打印文本文件的具體內(nèi)容就向你介紹到這里,希望對你了解和學(xué)習(xí)C#打印文本文件有所幫助。

【編輯推薦】

  1. C#實現(xiàn)打印功能實例詳解
  2. 淺析C#打印和C#打印預(yù)覽的實現(xiàn)
  3. 全面解析C#實現(xiàn)打印功能
  4. 實現(xiàn)C#打印窗體實例詳解
  5. 實現(xiàn)C#打印文檔實例詳解
責(zé)任編輯:仲衡 來源: 博客園
相關(guān)推薦

2009-08-19 17:44:15

C#操作文本文件

2009-08-20 10:17:27

C#操作文本文件

2009-09-02 19:13:08

C#處理文本文件

2009-08-06 18:33:45

C#處理文本文件

2009-08-20 09:58:06

C#操作文本文件

2009-09-02 19:08:03

C#實現(xiàn)讀取文本文件

2009-08-20 09:15:20

C#操作文本文件

2009-08-12 17:59:48

C#讀取文本文

2009-08-20 09:26:14

C#操作文本文件

2009-08-12 17:42:57

C#讀文本文件

2010-02-01 14:26:50

C++讀寫文本文件

2010-04-30 17:38:31

Unix文本

2009-08-26 11:07:36

C#打印窗體

2009-08-26 09:22:44

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

2009-08-26 11:32:37

C#打印文檔

2021-11-29 09:46:11

FileReaderJava開發(fā)

2009-08-26 14:31:08

C#打印文件

2010-01-15 10:05:35

VB.NET文件對象

2009-09-04 15:56:35

寫入文本文件

2009-09-01 11:25:08

C#讀取Word文件
點贊
收藏

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

av在线视屏| 一本一道人人妻人人妻αv | 亚洲成av人片www| 好吊色欧美一区二区三区 | 午夜影院日韩| www.久久撸.com| 国偷自产av一区二区三区麻豆| 欧美亚洲日本精品| 国产精品国产三级国产| 狠狠色狠狠色综合人人| 亚洲一卡二卡在线观看| 一区二区高清| 欧美成人一区在线| xxx在线播放| 亚洲一区二区三区四区电影| 91国偷自产一区二区三区成为亚洲经典| 亚洲一区二区三区在线观看视频 | 3d动漫一区二区三区在线观看| 亚洲永久精品大片| 天天综合狠狠精品| 黑人精品一区二区三区| 久久9热精品视频| 欧美在线视频播放| 欧美日韩综合一区二区| 日韩欧美视频在线播放| 日韩第一页在线| 杨幂一区二区国产精品| jizz免费一区二区三区| 精品欧美aⅴ在线网站| 天天做天天爱天天高潮| chinese偷拍一区二区三区| 97成人超碰视| 国产女主播一区二区| av中文字幕免费在线观看| 日本在线不卡一区| 青青久久av北条麻妃黑人| 久久久久成人片免费观看蜜芽| 日本一区二区在线看| 亚洲美女性视频| 青青草视频网站| 91在线一区| 日韩精品一区国产麻豆| 国产精品自在自线| 日韩午夜视频在线| 欧美日韩一区二区三区在线| 欧美 日韩精品| 国产激情视频在线看| 亚洲精品乱码久久久久久久久| 亚洲日本欧美在线| 国产黄色在线播放| 国产亚洲精品福利| 日本视频一区在线观看| 免费国产在线观看| 久久久噜噜噜久久人人看| 99久热re在线精品视频| 亚洲美女福利视频| 成人一区二区在线观看| 成人在线观看av| 男人天堂综合网| 成人福利视频网站| 精品欧美一区二区久久久伦| 色噜噜在线播放| 99久久er热在这里只有精品15| 久草一区二区| 青青草av免费在线观看| 久久一二三国产| 日韩中文字幕一区| 日本黄色片在线观看| 亚洲人成小说网站色在线 | 加勒比在线一区二区三区观看| 亚洲av成人无码网天堂| 久久婷婷久久一区二区三区| 日韩av大全| 自拍视频在线播放| 亚洲欧美另类久久久精品| av在线免费观看国产| 漫画在线观看av| 在线免费观看成人短视频| 亚洲怡红院在线| 97视频一区| 亚洲欧美日韩天堂一区二区| 精品视频第一页| 欧美久久成人| 日本视频久久久| 91精品国产乱码久久久| 高清国产午夜精品久久久久久| 狠狠色噜噜狠狠色综合久| 成a人v在线播放| 亚洲黄色在线视频| 男人日女人下面视频| 国产福利91精品一区二区| 日韩欧美国产电影| 最近中文字幕在线mv视频在线| 99久久www免费| 97香蕉久久超级碰碰高清版| 色婷婷久久综合中文久久蜜桃av| 国产一区二区中文字幕| 久久99久久精品国产| 午夜看片在线免费| 亚洲成人免费在线观看| 999精彩视频| 红杏视频成人| 精品激情国产视频| 亚洲免费在线观看av| 九九**精品视频免费播放| 精品视频导航| 黄色网页在线免费看| 狠狠躁夜夜躁人人爽天天天天97| 在线播放av中文字幕| 亚洲免费成人av在线| 久久精品一区中文字幕| www毛片com| 懂色中文一区二区在线播放| 亚洲免费不卡| 欧美成人黑人| 亚洲成人黄色网址| 男女做暖暖视频| 日产欧产美韩系列久久99| 久久久综合香蕉尹人综合网 | 91国内产香蕉| 99精品国产99久久久久久97| 国产农村妇女毛片精品久久麻豆| 国产美女在线一区| 久久爱www.| 色妞久久福利网| 无码人妻久久一区二区三区| www.66久久| 国产高清不卡无码视频| 日韩毛片免费看| 国产亚洲精品美女| 欧美 日韩 精品| 成人激情文学综合网| www.欧美黄色| 久久综合偷偷噜噜噜色| 久久亚洲成人精品| 亚洲手机在线观看| 国产日韩v精品一区二区| 春日野结衣av| 视频小说一区二区| 96精品视频在线| 日本黄色一区二区三区| 亚洲国产精品精华液网站| 无码人妻一区二区三区一| 一区二区三区午夜探花| 91免费看片在线| 米奇精品一区二区三区| 欧美日本视频在线| 搜索黄色一级片| 韩国毛片一区二区三区| 精品91一区二区三区| 2019中文亚洲字幕| 欧美日韩国产成人在线观看| 精品国产免费无码久久久| 一区二区三区在线视频观看| av电影中文字幕| 伊人精品视频| 久久青青草综合| 欧洲av不卡| 中文字幕一精品亚洲无线一区| 九九热最新视频| 中文字幕二三区不卡| 小泽玛利亚视频在线观看| 久久亚洲精品中文字幕蜜潮电影| 成人精品久久av网站| av电影免费在线观看| 日韩精品一区二区三区视频| 久久精品国产亚洲av香蕉| 92精品国产成人观看免费| 日av中文字幕| 色综合久久网| 99久久国产免费免费| 欧美久久天堂| 在线不卡国产精品| 国产露脸国语对白在线| 亚洲影院久久精品| 99久久人妻无码精品系列| 蜜桃av一区二区三区| 欧美少妇一区二区三区| 欧美理伦片在线播放| 国产精品国产自产拍高清av水多 | 五月天婷婷影视| 欧美激情综合色综合啪啪| 久久精品国产美女| 免费视频观看成人| 欧美高清无遮挡| 日中文字幕在线| 在线不卡免费av| 欧美日韩综合在线观看| 中文字幕国产一区二区| 亚洲一区二区三区黄色| 男人的天堂亚洲一区| 男人添女人下部视频免费| 欧美人与牛zoz0性行为| 亚洲va欧美va国产综合久久| 亚洲国产欧美日本视频| www.欧美精品一二三区| 亚洲人视频在线观看| 欧美日韩一卡二卡三卡 | 国产精品高清一区二区三区| 成人黄色免费短视频| 欧美另类极品videosbestfree| 色播色播色播色播色播在线| 欧美一区二区在线播放| 蜜臀精品一区二区三区| 亚洲猫色日本管| 日韩视频在线观看免费视频| 成人免费毛片片v| 国产精品嫩草影院8vv8| 亚洲女同在线| 青青青青在线视频| 欧美3p在线观看| 欧美日韩在线精品| 99久久婷婷国产综合精品青牛牛| 国产精品久久久久av| www.51av欧美视频| 久久国产精品久久精品| 大胆av不用播放器在线播放| 亚洲精品av在线| 精品国产无码AV| 欧美久久免费观看| 亚洲永久精品一区| 欧美日韩黄色大片| 日韩精品一区三区| 一区二区三区四区精品在线视频| 又色又爽的视频| 国产日韩欧美精品一区| 久久久久成人精品无码中文字幕| 国产精品一级片在线观看| 色婷婷.com| 蜜臀精品一区二区三区在线观看 | 国产视频手机在线| 欧美日韩高清在线播放| 中文字幕av影院| 精品国产1区2区| 日韩经典在线观看| 亚洲一区二区精品视频| 欧美精品久久久久性色| 亚洲精品视频自拍| 五月天婷婷色综合| 亚洲老妇xxxxxx| 青青草精品在线视频| 亚洲精品国产高清久久伦理二区| 欧美大片xxxx| 亚洲视频一区在线观看| 澳门黄色一级片| 亚洲精品国产a久久久久久 | 91网在线播放| 一区二区欧美在线| 都市激情在线视频| 尤物yw午夜国产精品视频| jizz在线观看中文| 日韩在线中文视频| caopen在线视频| 久久99精品久久久久久琪琪| 日本高清在线观看| 欧美极品xxxx| 性xxxxfreexxxxx欧美丶| 日本人成精品视频在线| 国产精品xxx| 亚洲v日韩v综合v精品v| 91精品国产自产精品男人的天堂 | 日韩精品久久久久久久电影99爱| 午夜精品福利一区二区| 99免费精品| 亚洲中文字幕无码一区二区三区| 激情视频一区二区三区| 日韩中文字幕三区| 日韩福利视频导航| 做a视频在线观看| 国产91精品一区二区| 波多野结衣办公室33分钟| 欧美激情资源网| 国产免费无码一区二区视频 | 午夜精品久久久| 亚洲乱码国产乱码精品| 欧美喷水一区二区| 黄色片一区二区三区| 亚洲美女视频网| 黄色网页在线播放| 91精品国产成人| 精品女同一区二区三区在线观看| 97人人模人人爽人人少妇| 日韩在线你懂的| 亚洲欧洲一区二区福利| 亚洲精品99| 一本大道熟女人妻中文字幕在线 | 国产精品国产三级国产专业不| 亚洲色图一区二区| 久久精品视频1| 91麻豆精品91久久久久同性| 无套内谢的新婚少妇国语播放| 色悠悠国产精品| 大香伊人久久| 国产日韩在线免费| 老牛影视av一区二区在线观看| 亚洲欧美精品| 国产精品嫩草99av在线| 午夜av中文字幕| 久久亚洲精品国产精品紫薇| 国产a免费视频| 欧美在线高清视频| 天堂av一区二区三区| 按摩亚洲人久久| 免费日韩电影| 国产欧美日韩亚洲| 一精品久久久| 三年中国国语在线播放免费| caoporm超碰国产精品| 一区二区国产精品精华液| 色94色欧美sute亚洲13| 女人18毛片水真多18精品| 精品久久国产精品| 成人国产激情| 久草精品电影| 国内一区二区三区| 手机在线国产视频| 国产精品色呦呦| 国产精品久久久久久久久久精爆| 精品日韩成人av| 成人午夜在线影视| 国产精品爽爽爽| 黑丝美女一区二区| 国产免费一区二区三区视频| 成人黄色大片在线观看| 久久久久99精品成人片试看| 91精品国产综合久久福利软件| a黄色在线观看| 欧洲午夜精品久久久| 秋霞影院一区二区三区| 丁香六月激情婷婷| 高清日韩电视剧大全免费| 九九热国产在线| 欧美一区二区三区成人| 美女国产在线| 成人免费xxxxx在线观看| 久久资源中文字幕| mm131国产精品| 国产精品私人影院| 在线观看免费观看在线| 在线a欧美视频| 欧美激情福利| 一区二区三区四区视频在线| 久久精品99久久久| 国产中文字幕久久| 欧美三日本三级三级在线播放| 国产人成在线视频| 国产精品久久久久久久久久久久| 欧洲视频一区| 亚洲激情在线观看视频| 中文字幕一区二区在线观看| 国产又粗又猛视频免费| 久久午夜a级毛片| 国产精品男女| 国产成人在线免费看| 久久久久国产精品厨房| 中文字幕日产av| 精品国产自在精品国产浪潮| 精品视频在线观看免费观看| 国产1区2区3区中文字幕| 成人黄色av网站在线| 久久精品视频5| 日韩在线观看高清| 无人区乱码一区二区三区| www插插插无码视频网站| 91麻豆国产在线观看| 波多野结衣一二区| 欧美成人精品在线| 国产乱论精品| 欧美激情国产精品日韩| 亚洲欧洲www| 亚洲精品视频91| 国产91在线播放精品91| 久久要要av| 国产chinese中国hdxxxx| 在线观看网站黄不卡| 成人直播在线| 久久久久免费网| 久久99深爱久久99精品| 精品无码久久久久久久| 亚洲精品综合精品自拍| 日韩三级一区| 国产精品秘入口18禁麻豆免会员 | 国产真实夫妇交换视频| 亚洲欧美变态国产另类| 国产va免费精品观看精品| 欧美精品久久久久久久自慰| 欧美国产日本视频| 欧美在线 | 亚洲| 国产精品网红直播| 在线观看视频日韩| 国产又黄又粗视频| 亚洲变态欧美另类捆绑| av成人免费看| 免费一级特黄特色毛片久久看| 国产精品理论片| 色综合888| 99国产在线视频| 日本欧美一区二区三区乱码 | 欧美性极品少妇| 国产在线xxx|