C#打印(PrintDocument、PrintDialog、PageSetupDialog、PrintPreviewDialog)
2011-10-14 09:46
796 查看
主要介绍了PrintDocument的主要属性、方法的应用。及打印过程中可能用的到得PrintDialog、PageSetupDialog、PrintPreviewDialog对话框。 代码:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Drawing.Printing; namespace demo { public partial class PrintOther : Form { public PrintOther() { InitializeComponent(); } //PrintDocument类是实现打印功能的核心,它封装了打印有关的属性、事件、和方法 PrintDocument printDocument = new PrintDocument(); private void btnPrint_Click(object sender, EventArgs e) { //printDocument.PrinterSettings可以获取或设置计算机默认打印相关属性或参数,如:printDocument.PrinterSettings.PrinterName获得默认打印机打印机名称 //printDocument.DefaultPageSettings //可以获取或设置打印页面参数信息、如是纸张大小,是否横向打印等 //设置文档名 printDocument.DocumentName = "处方笺";//设置完后可在打印对话框及队列中显示(默认显示document) //设置纸张大小(可以不设置取,取默认设置) PaperSize ps = new PaperSize("Your Paper Name", 100, 70); ps.RawKind = 150; //如果是自定义纸张,就要大于118,(A4值为9,详细纸张类型与值的对照请看http://msdn.microsoft.com/zh-tw/library/system.drawing.printing.papersize.rawkind(v=vs.85).aspx) printDocument.DefaultPageSettings.PaperSize = ps; //打印开始前 printDocument.BeginPrint += new PrintEventHandler(printDocument_BeginPrint); //打印输出(过程) printDocument.PrintPage += new PrintPageEventHandler(printDocument_PrintPage); //打印结束 printDocument.EndPrint += new PrintEventHandler(printDocument_EndPrint); //跳出打印对话框,提供打印参数可视化设置,如选择哪个打印机打印此文档等 PrintDialog pd = new PrintDialog(); pd.Document = printDocument; if (DialogResult.OK == pd.ShowDialog()) //如果确认,将会覆盖所有的打印参数设置 { //页面设置对话框(可以不使用,其实PrintDialog对话框已提供页面设置) PageSetupDialog psd = new PageSetupDialog(); psd.Document = printDocument; if (DialogResult.OK == psd.ShowDialog()) { //打印预览 PrintPreviewDialog ppd = new PrintPreviewDialog(); ppd.Document = printDocument; if (DialogResult.OK == ppd.ShowDialog()) printDocument.Print(); //打印 } } } void printDocument_BeginPrint(object sender, PrintEventArgs e) { //也可以把一些打印的参数放在此处设置 } void printDocument_PrintPage(object sender, PrintPageEventArgs e) { //打印啥东东就在这写了 Graphics g = e.Graphics; Brush b = new SolidBrush(Color.Black); Font titleFont = new Font("宋体", 16); string title = "五凤街道梅峰社区卫生服务站 处方笺"; g.DrawString(title, titleFont, b, new PointF((e.PageBounds.Width - g.MeasureString(title, titleFont).Width) / 2, 20)); //e.Cancel//获取或设置是否取消打印 //e.HasMorePages //为true时,该函数执行完毕后还会重新执行一遍(可用于动态分页) } void printDocument_EndPrint(object sender, PrintEventArgs e) { //打印结束后相关操作 } } }
相关文章推荐
- C#打印(PrintDocument、PrintDialog、PageSetupDialog、PrintPreviewDialog)
- C#打印(PrintDocument、PrintDialog、PageSetupDialog、PrintPreviewDialog)
- C#打印(PrintDocument、PrintDialog、PageSetupDialog、PrintPreviewDialog)
- C#打印(PrintDocument、PrintDialog、PageSetupDialog、PrintPreviewDialog)
- 【C#】打印机 printDocument、printDialog、PageSetupDialog、printPreviewDialog
- 在C#中实现打印功能(C#中PrintDialog,PrintDocument的使用)
- 在C#中实现打印功能(C#中PrintDialog,PrintDocument的使用
- 在C#中实现打印功能(C#中PrintDialog,PrintDocument的使用)
- 在C#中实现打印功能(C#中PrintDialog,PrintDocument的使用)
- 在C#中实现打印功能(C#中PrintDialog,PrintDocument的使用)
- 在C#中实现打印功能(C#中PrintDialog,PrintDocument的使用)
- 在C#中实现打印功能(C#中PrintDialog,PrintDocument的使用)
- 在C#中实现打印功能(C#中PrintDialog,PrintDocument的使用)
- 在C#中实现打印功能(C#中PrintDialog,PrintDocument的使用)
- 在 C# 中实现打印功能(C# 中 PrintDialog,PrintDocument 的使用)
- 在C#中实现打印功能(C#中PrintDialog,PrintDocument的使用)实用的类
- 在C#中实现打印功能(C#中PrintDialog,PrintDocument的使用) (转)
- 在C#中实现打印功能(C#中PrintDialog,PrintDocument的使用)
- 在C#中实现打印功能(C#中PrintDialog,PrintDocument的使用)
- c# 的多页打印 [用 PrintDocument 不用水晶报表]