03-PrintDocument
15.1.1 PrintDocument
实现打印功能的核心是PrintDocument类,这个类属于System.Drawing.Printing名字空间,这个类封装了当前的打印设置、页面设置以及所有的与打印有关的事件和方法。这个类包括以下几个属性、事件和方法,下表列出了PrintDocument的常用成员及其说明。
| 成员名称 | 类别 | 说明 | | :----- | :----- | :----- | :----- | :----- | | PrinterSettings | 属性 | 存放打印机的设置信息,这个属性不需要程序员设置,因为它是由打印对话框获取的 | | PrintController | 属性 | 控制打印过程 | | DefaultPageSettings | 属性 | 存放页面设置信息,如打印纸大小、方向等,不需要程序员设置,因为它是由页面设置对话框获取的 | | DocumentName | 属性 | 指定文档名称,出现在打印机状态窗口中 | | Print | 方法 | 调用它将按照当前设置开始打印,该方法没有参数 | | BeginPrint | 事件 | 在调用Print方法之后,并且在打印第一个页面之前被触发。可以在这个事件中设置应用于所有页面的打印机属性和页面属性,以及使用的字体等参数 | | PrintPage | 事件 | 在开始打印每一页时被触发,每页的打印都是在这个事件中完成的。用户必须为这个事件提供处理函数,以完成实际的打印操作 | | EndPrint | 事件 | 在打印完最后一个页面时被触发。可以在这个事件中完成一些资源清理工作 | | QueryPageSettings | 事件 | 在每个PrintPage事件之前被触发,可以使用这个事件来设置打印每一个页面的页面设置 |
C#实现打印功能的PrintPageEventArgs参数有很多重要的属性,下表列出了PrintPageEventArgs的重要属性及其说明。
| 成员名称 | 类别 | 说明 | | :----- | :----- | :----- | :----- | :----- | | Cancel | 属性 | 取消打印 | | Graphics | 属性 | 页面的绘图对象 | | EndPrint | 属性 | 是否还有要打印的页面 |