一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

asp.net winFrom 自定义打印预览方法

时间:2011-06-16 编辑:简简单单 来源:一聚教程网

首先我们定义一个PrintDocument对象,并实现PrintPage方法:
image
image
在一个按钮的单击事件里面实现打印预览:
image 
执行打印预览后我们会看到打印出来的效果:
image
 
自定义打印预览
如果是自定义打印预览就需要设置好指定的打印控制器PrintController的属性。
PrintController 由 PrintDocument 使用,而这种使用通常不是直接的。
.NET Framework 包括从 PrintController 派生的三个打印控制器,可帮助完成常见的任务。
1.StandardPrintController 将文档打印到打印机。
2.PreviewPrintController 生成文档打印时的外观预览并由 PrintPreviewControl 和 PrintPreviewDialog 类使用。
3.PrintControllerWithStatusDialog 在打印过程中提供一个打印状态对话框。
 代码如下 复制代码
自己手动的实现一个打印预览的功能是由PreviewPrintController 来实现的
image
首先定义了一个PreviewPrintController 对象,并赋值给PrintDocument。然后执行打印。
利用GetPreviewPageInfo()得到一个PreviewPageInfo数组;打印信息包括在了这个数组里,以每张图片和信息一页存储在了数组中。
image
数组中的Image和PhysicalSize对象提供的打印相关的信息 :一张图片和打印页的大小。在打印出来的图片的大小和打印页的大小是不相同的,图片的大小要高于打印页的大小。所以要转换大小。然后显示到界面,如果打印多页只需要对PreviewPageInfo数组进行切换就行了。
image
当我们需要显示打印状态对话框的时候可以用PrintControllerWithStatusDialog 包装一个PreviewPrintController 来显示打印对话框
printDocument.PrintController = new PrintControllerWithStatusDialog(previewController);

热门栏目