我写了一个打印文本文件的类库,功能包括:打印预览、打印。打印时可以选择打印机,可以指定页码范围。调用方法非常简单:
TextFilePrinter p = new TextFilePrinter(tbxFileName.Text);
p.View();  // 打印预览
p.Print(); // 打印文件
使用 TextFilePrinter 类的以下构造函数可以指定打印时使用的字体:
TextFilePrinter(string fileName, Encoding theEncode, Font theFont)
下面测试程序运行时的截图:
文本文件打印类库(C#)
点击“预览”按钮后:
文本文件打印类库(C#)
点击“打印”按钮后:
文本文件打印类库(C#)
这幅图中的打印机:“Microsoft Office Doument Image Writer”是 Microsoft Office 2003 软件提供一个虚拟打印机,用来调试打印程序非常方便(使用“打印预览”也可以调试打印程序,但“打印预览”只能使用默认的打印机和默认的打印属性,也不能设置页码范围),可以设置打印属性和页码范围以及打印份数。使用它来调试打印程序,可以节省不少打印纸。为建设节约型社会作贡献 :) 
文本文件打印类库(C#)
这幅图就是该虚拟打印机在屏幕上的显示的结果。
这里是测试程序的源代码:

文本文件打印类库(C#)// PrintFile.cs - 文件打印程序
文本文件打印类库(C#)
// 编译方法: csc /t:winexe PrintFile.cs TextFilePrinter.cs
文本文件打印类库(C#)

文本文件打印类库(C#)
using System;
文本文件打印类库(C#)
using System.Drawing;
文本文件打印类库(C#)
using System.Windows.Forms;
文本文件打印类库(C#)
using Skyiv.Util;
文本文件打印类库(C#)
文本文件打印类库(C#)
namespace Skyiv.Ben.Test

这里是该类的源代码:

文本文件打印类库(C#)using System;
文本文件打印类库(C#)
using System.Drawing;
文本文件打印类库(C#)
using System.Drawing.Printing;
文本文件打印类库(C#)
using System.Windows.Forms;
文本文件打印类库(C#)
using System.IO;
文本文件打印类库(C#)
using System.Text;
文本文件打印类库(C#)
文本文件打印类库(C#)
namespace Skyiv.Util

这些程序都相当简当明了,这里就不再解释了。
这个类库有个缺点:当文本文件中的一行不能在打印纸的一行中打印完时,该行的后半部就丢失了。

相关文章:

  • 2021-10-13
  • 2021-06-29
  • 2022-12-23
  • 2022-12-23
  • 2021-11-27
  • 2022-02-23
  • 2022-01-18
  • 2021-10-22
猜你喜欢
  • 2022-02-22
  • 2022-12-23
  • 2022-12-23
  • 2022-02-20
  • 2021-12-17
  • 2022-02-28
  • 2022-12-23
相关资源
相似解决方案