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

首先我们定义一个PrintDocument对象,并实现PrintPage方法:

在一个按钮的单击事件里面实现打印预览:

 

执行打印预览后我们会看到打印出来的效果:

 

自定义打印预览

如果是自定义打印预览就需要设置好指定的打印控制器PrintController的属性。

PrintController 由 PrintDocument 使用,而这种使用通常不是直接的。

.NET Framework 包括从 PrintController 派生的三个打印控制器,可帮助完成常见的任务。

1.StandardPrintController 将文档打印到打印机。

2.PreviewPrintController 生成文档打印时的外观预览并由 PrintPreviewControl 和 PrintPreviewDialog 类使用。

3.PrintControllerWithStatusDialog 在打印过程中提供一个打印状态对话框。

 代码如下 复制代码

自己手动的实现一个打印预览的功能是由PreviewPrintController 来实现的

首先定义了一个PreviewPrintController 对象,并赋值给PrintDocument。然后执行打印。

利用GetPreviewPageInfo()得到一个PreviewPageInfo数组;打印信息包括在了这个数组里,以每张图片和信息一页存储在了数组中。

数组中的Image和PhysicalSize对象提供的打印相关的信息 :一张图片和打印页的大小。在打印出来的图片的大小和打印页的大小是不相同的,图片的大小要高于打印页的大小。所以要转换大小。然后显示到界面,如果打印多页只需要对PreviewPageInfo数组进行切换就行了。

当我们需要显示打印状态对话框的时候可以用PrintControllerWithStatusDialog 包装一个PreviewPrintController 来显示打印对话框

printDocument.PrintController = new PrintControllerWithStatusDialog(previewController);

时间: 2024-12-30 07:07:20

asp.net winFrom 自定义打印预览方法的相关文章

ASP.NET设置页面打印预览示例

 代码如下 复制代码 <OBJECT id="WebBrowser" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" height="0" width="0"></OBJECT>   <input type=button value="打印" onclick=document.all.WebBrowser.ExecWB(

自定义快速报表的打印预览窗口

QuickReport2.0中提供的默 认打印预览窗口是英文界面的,如果开发的中文软件中带有这种英文显示, 不免有些小小的缺憾.因此有必要实现中文界面的打印预览窗口.但是Delphi提供的源代码中并没有打印预览窗口.PAS源文件,这就无法直接修改源 码,只能全部自己编程实现.经多次实践,笔者模仿实现了与默认预览窗口外观类似,功能相同的打印预览窗口.步骤如下: 1.新建一个窗体,设置Name为MyPreview. 2.在窗体上添加一Toolbar控件, 模仿默认预览窗口创建相应的Toolbutto

IE中无法查看打印预览的解决方法

在使用Internet Explorer 9浏览器时有没有发生过一些问题,不知道该如何解决?在这里我们就来看一个问题! 问题描述: 当您尝试在Internet Explorer中打印或查看网页的打印预览时,可能无法正确打印网页或查看打印预览,而且可能系统显示脚本错误. 解决方法: 方法1:尝试在禁用保护模式后打印 1.单击Internet Explorer中的"工具"图标 2.单击"安全"选项卡并取消选中"启用保护模式"旁边的复选框(需要重新启动

ASP页面js打印预览问题

问题描述 一个ASP的页面,使用webbrowser实现打印预览,页面使用的是框架结构,top,left与content现在不想把top与left的内容预览时显示出来,还有就是页面的图表打印预览时显示不出来,打印没问题,求解决方案!! 解决方案 解决方案二:附上js代码functionprintpr()//预览函数{document.all("qingkongyema").click();//打印之前去掉页眉,页脚document.all("dayinDiv").s

求助:打印预览时,出现对象不支持showpagesetupdialog的属性或方法。错误

问题描述 functionsetdivhidden(id){//把指定id以外的层统统隐藏vardivs=document.getElementsByName("div");for(vari=0;i<divs.length;i++){if(divs.item(i).id!=id)divs.item(i).style.display="none";}}functionsetdivvisible(id){//把指定id以外的层统统显示vardivs=documen

请教下NPOI中有没有针对于Excel文件的打印预览及打印方法

问题描述 请教下NPOI中有没有针对于Excel文件的打印预览及打印方法 解决方案 解决方案二:用过的兄弟们帮忙回复下呀

Word2013中打印预览的方法

  第1步,打开Word2013文档窗口,并依次单击"文件"→"打印"命令,如图1所示. 图1 单击"打印"命令 第2步,在打开的"打印"窗口右侧预览区域可以查看Word2013文档打印预览效果,用户所做的纸张方向.页面边距等设置都可以通过预览区域查看效果.并且用户还可以通过调整预览区下面的滑块改变预览视图的大小,如图2所示. 图2 查看打印预览效果

自定义按钮按键-MFC 多文档 视图程序 打印预览 添加自定义button按钮按键

问题描述 MFC 多文档 视图程序 打印预览 添加自定义button按钮按键 想在多文档视图程序的打印预览中添加自定义的按钮,比如导出到文件按钮. 百度google,好像改afxprint.rc文件可以实现,但我修改后保存不了,提示cannot save. 不知道怎么弄了,这问题搞了一天了,不知道有没有可以告诉下的,谢谢了.

Winfrom 如何在打印预览框上加下框可以选择打印机

问题描述 在打印预览窗口,添加个下拉框可以选择打印这样做理由:用户操作方便,至于打印属性什么的,都是动态设置.不需要在PrintDialog上设置打印属性.集众人智慧 解决方案 解决方案二:先获取多有可用的打印机(其实就是打印机和传真里面的可选打印机,也就是安装了驱动的打印机)然后放列表里显示选择完成,点打印的时候,把选项赋值给Document