Windows 打印控件
Windows窗体的PrintDocument组件用于设置一些属性,这些属性说明,在基于Windows的应用程序中要打印说明内容以及打印文档的能力,可将它与PrintDialog组件一起使用来控制文档打印的各个方面。
要想建立输出到打印机的输出程序,就要首先创建PrintDocument对象。
PrintDocument pd = new PrintDocument();
PrinterSettings属性:
用于获取或设置一个值,指示对文档进行打印的打印机。
DefaultPageSettings属性:
获取或设置打印纸信息,这些页设置用作要打印的所有页的默认设置
DocumentName属性:
获取或设置打印文档时要显示的文档名。
PrintController属性:
获取或设置指导打印进程的打印控制器
Container属性:
获取Icontainer接口,它包含Component类
Print方法
是最重要也是最常用的方法,它将开始打印进程,并触发PrintPage事件。在PrintPage事件中绘制将要打印的内容。
public DialogResult ShowDialog()
public void Print()
指定打印输出的方法是处理PrintPage事件并使用PrintPageEventArgs参数中包含的Graphics对象。
使用PrinterSettings.PrinterName属性可以指定使用哪一台打印机来打印文档。Print方法在打印文档的时不使用打印对话框,若要为用户提供选择打印设置的能力,则使用PrintDialog组件。
组件的事件
PrintPage事件在需要为当前页打印输出时发生。该事件应当与PrintPageHandle参数委托的签名匹配。
public delegate void PrintPageHandler(object sender,PrintPageEventArgs e );
PrintPageEventArgs参数为打印提供必要的系统数据,相关参数的说明如下:
Cancel ,设置为true时取消打印
Graphics 用于写到打印机的graphics对象
HasMorePages 指示是否还有待打印的页面默认为False
MarginBounds 表示整个页面的矩形区域
PageBounds 表示整个页面的矩形区域
Pagesettings 待打印的页面设置
PrintPreviewDialog组件
是预先配置的对话框,用于显示PrintDocument组件在打印时的外观。
Document属性:
用于获取或设置一个值,该值指示要预览的文档。
Public PrintDocument Document {get;set}
属性值:PrintDocument ,它表示要预览的文档
UseAntiAlias 属性:
获取或设置一个值,该值指示打印是否使用操作系统的放锯齿功能。
AutoSize 获取或设置一个值,该值指示PrintViewDialog是否自动调整大小以完整显示其内容。
private void button1_Click(object sender, EventArgs e)
{
//printDocument1.Print();
if (MessageBox.Show("是否要预览打印文档", "打印预览", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
this.printPreviewDialog1.UseAntiAlias = true;
//设置要预览的文档
this.printPreviewDialog1.Document = this.printDocument1;
printPreviewDialog1.ShowDialog();
}
else
{
//调用Print方法直接打印文档
this.printDocument1.Print();
}
}
PrintPreviewControl组件
用于按文档打印时的外观显示PrintDocument组件。
Zoom属性:
获取或设置一个值,该值指示页面的大小。
Public double Zoom{get;set}
值1.0指示实际大小。
private void button1_Click(object sender, EventArgs e)
{
//设置打印页面为默认打印页面
printDocument1.DefaultPageSettings.Landscape = true;
//打印文档
this.printDocument1.Print();
}
//设置打印数据
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
string strPat = Application.StartupPath.Substring(0,Application .StartupPath .Substring(0,Application .StartupPath .IndexOf ("\\")).LastIndexOf ("\\"));
strPat += @"c.jpg";
e.Graphics.DrawString("阳光快乐",new Font ("宋体",50,FontStyle .Bold ),Brushes .Black,160,130 );
e.Graphics.DrawImage(Image .FromFile (strPat ),200,300,500,500);
}
//设置缩放比例尺
private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
int zoomNo;
zoomNo = Convert.ToInt32(numericUpDown1 .Value );
printPreviewControl1.Size = new Size(zoomNo *10,zoomNo *10);
printPreviewControl1.AutoZoom = true;
}
private void Form1_Load(object sender, EventArgs e)
{
this.printPreviewControl1.Document = this.printDocument1;
}
PrintDialog 组件
Windows窗体PrintDialog组件式一个预先配置的对话框,可用于在基于Windows应用程序中选择打印机、选择打印的页以及确定其他与打印相关的设置。
//启用“打印到文件”复选框
printDialog1.AllowPrintToFile = true;
//显示当前项按钮
printDialog1.AllowCurrentPage = true;
//启用选择按钮
printDialog1.AllowSelection = true;
//启用页按钮
printDialog1.AllowSomePages = true;
//要打印的文档
printDialog1.Document = this.printDocument1;
if (printDialog1 .ShowDialog ()==DialogResult.OK )
{
this.printPreviewDialog1.Document = this.printDocument1;
printDialog1.Document.Print();
//打印预览对话框设置
printPreviewDialog1.Document = this.printDocument1;
printPreviewDialog1.ShowDialog();
}
PageSetUpDialog 组件
是一个预先配置的页面对话框,用在基于Windows的应用程序设置页面信息,以便于打印。
//显示设置
this.pageSetupDialog1.Document = this.printDocument1;
//启用边距
this.pageSetupDialog1.AllowMargins = true;
this.pageSetupDialog1.AllowOrientation = true;
this.pageSetupDialog1.AllowPaper = true;
this.pageSetupDialog1.AllowPrinter = true;
//显示页面设置对话框
this.pageSetupDialog1.ShowDialog();
//设置打印预览对话框
this.printPreviewDialog1.Document = this.printDocument1;
//显示打印预览对话框
this.printPreviewDialog1.ShowDialog();
//使用打印控件打印
this.printDocument1.Print();
Windows 打印控件的更多相关文章
- 【打印】windows打印控件,Lodop.js介绍
1.Lodop.js这插件很强大,目前仅支持windows系统 2.使用原生javascript编写 3.lodop支持客户端安装,c-lodop支持服务器端安装 4.无论客户端还是服务器端,都必须是 ...
- 网页WEB打印控件制作-开放源码
在WEB系统中,打印的确是比较烦人的问题,如果我们能制作一个属于自己的自定义的打印插件,那么我们在后续自定义打印的时候能随心所欲的控制打印,这样的效果对于程序员来说是非常开心的一件事件,本文将自己开发 ...
- winform 对话框控件,打印控件
1.文件对话框(FileDialog) 它又常用到两个: 打开文件对话框(OpenFileDialog) 保存文件对话框(SaveFileDialog) 2.字体对话框(FontDialog) 3.颜 ...
- C# ie通过打印控件点打印,总是弹出另存为xps的对话框
用的是lodop打印控件,点打印后,总是弹出另存为xps的对话框,后来在网上查到可能是把windows自带的Microsoft XPS Document Writer设为默认打印机的原因. 但现在没有 ...
- 在.net Core 使用PDF模板文件生成PDF文件,代替WEB打印控件!
这几天找WEB打印控件,要么收费的,要么免费的只能在IE里用! 我只想简单的打个标签纸!百度2天,看到一老兄说可以用PDF,然后又开始百度..找到了一篇文章 http://www.jianshu.co ...
- wpf 深度复制控件,打印控件
原文:wpf 深度复制控件,打印控件 <Window x:Class="WpfApp2.MainWindow" xmlns="http://schemas.micr ...
- WPF打印控件内容
当我们想打印控件内容时,如一个Grid中的内容,可以用WPF中PrintDialog类的PrintVisual()方法来实现 界面如下: XAML代码如下 <Grid> <Grid. ...
- vue使用lodop打印控件实现浏览器兼容打印
前言 此控件直接进行打印底部会有水印,通过官网购买可以解决: 如不想购买,可先执行预览,弹出预览框进行打印: 需要用到的js文件和api文档附后,请注意查看. 首先需要在局部或全局引入LodopFun ...
- 基于MVC4+EasyUI的Web开发框架经验总结(16)--使用云打印控件C-Lodop打印页面或套打报关运单信息
在最新的MVC4+EasyUI的Web开发框架里面,我整合了关于网购运单处理的一个模块,其中整合了客户导单.运单合并.到货扫描.扣仓.出仓.查询等各个模块的操作,里面涉及到一些运单套打的操作,不过由于 ...
随机推荐
- 清理Oracle安装目录里的一些日志信息
最近测试环境服务器上磁盘空间紧张,表空间里面的数据也不知道开发哪些需要哪些不需要,而且因为此测试库运行时间比较久远,起码有三年了.于是就从清理Oracle安装目录下的日志下手. 发现在一般这几个日志, ...
- JDBC事务处理
关于事务: 1.一个事务中的多个操作应该公用一个connection,如果每一个操作都用不同的connection,事务将无法回滚. 2.具体步骤: 1).在事务开始前,应该取消事务的自动提交,即设置 ...
- VS2010+VMWare8+VisualDDK1.5.6 创建并调试你的第一个驱动程序 - 完全教程
本文描述了如何使用Visual Studio+VMMare+VisualDDK来创建.编译和调试你的第一个驱动程序.本文提供在开发和调试工具的环境下详细的操作步骤,而无需太多的关心这些环境背后所做的事 ...
- 关于listview的一些属性
由于这两天在做listView的东西,所以整理出来一些我个人认为比较特别的属性,通过设置这样的属性可以做出更加美观的列表 首先是stackFromBottom属性,这只该属性之后你做好的列表就会显示你 ...
- C#中抽象类和接口
下面是我做的测试: using System; using System.Collections.Generic; using System.Linq; using System.Text; usin ...
- 使用GDB进行调试
下面是几篇非常好的GDB使用指南: http://www.cs.cmu.edu/~gilpin/tutorial/ http://oss.org.cn/ossdocs/gnu/linux/gdb.ht ...
- Spring day01笔记
struts:web层,比较简单(ValueStack值栈,拦截器) hibernate:dao层,知识点杂 spring:service层,重要,讲多少用多少 --> [了解] sprin ...
- Linux操作系统奥秘01-系统引导(MBR - 硬盘的0磁道)
Boot:1.系统PowerOn 2.BIOS在完成硬件初始化以及POST 3.BIOS加载MBR 4.GRUB->GRUB or kernal MBR MBR即主引导记录,是在BIOS中选择的 ...
- Windows Server 2003/2008 单网卡搭建VPN
Windows Server 2003/2008 单网卡搭建VPN 1.打开[控制面板] --> [管理工具] --> [路由和远程访问] 2.鼠标右击你要管理的电脑 在弹出式菜单中选中[ ...
- java 堆栈
堆栈(stack).位于通用RAM中,但通过它的“堆栈指针”可以从处理器哪里获得支持.堆栈指针若向下移动,则分配新的内存:若向上移动,则释放那些 内存.这是一种快速有效的分配存储方法,仅次于寄存器. ...