C# 多页打印简单实现
来源:互联网 发布:农村淘宝分布图 编辑:程序博客网 时间:2024/05/29 13:30
必要的类:
using System.Drawing.Printing;
我的打印代码放在一个Button里:
private void button1_Click(object sender, EventArgs e)
{
PrintDocument pdDocument = new PrintDocument();
pdDocument.PrintPage += new PrintPageEventHandler(PrintDocument_PrintPage);
//pdDocument.DefaultPageSettings.Landscape = true; //此处更改页面为横向打印
pdDocument.Print();
}
private void PrintDocument_PrintPage(object sender, PrintPageEventArgs e)
{
e.HasMorePages = true; //此处打开多页打印属性
il++; //il是一个计数器,即页数
Bitmap bmp = new Bitmap(this.Width, this.Height);//生成一个BMP对象
this.DrawToBitmap(bmp, new Rectangle(Point.Empty, this.Size));//将当前界面转成BMP图片
Image PrintImage = (Image)bmp.Clone(); //将BMP转换成Image对象
e.Graphics.DrawImage(PrintImage, 0, 0);//在左上角0,0的位置打印图像
if(il>9) //共打印10张
e.HasMorePages = false; //关掉多页打印属性
}
多页打印必须把HasMorePages 设为true,达到需要的页数后关掉此属性。否则无穷添加新页面!
经我测试发现,当HasMorePages 设为true后,PrintDocument_PrintPage重复自我运行,直到HasMorePages 设为false。
那么更新每一页页面就成了红色代码部分的任务。
在PrintDocument_PrintPage函数内部,多次运行e.Graphics.DrawImage(PrintImage, 0, 0);是没有任何效果的,最多只能刷新当前页,不能产生新页。
- C# 多页打印简单实现
- C# winform窗体实现简单打印
- c#简单打印
- C#简单打印程序
- C# 简单打印
- C#实现打印
- C#实现打印功能
- C# 实现打印功能
- c#实现打印datagridview
- C# 实现打印功能
- C#实现图片打印
- c#实现打印功能
- C#实现打印功能
- C#实现打印功能
- Web打印,简单实现
- Web打印,简单实现
- Web打印,简单实现
- 简单打印功能实现
- weblogic调优
- 合理的配置我们所用的IDE
- 集合框架Collection&Map
- android中关于手机屏幕的相关操作(获取屏幕的宽高等操作)
- 进程3
- C# 多页打印简单实现
- linux下C可执行文件在内存中的分配
- linux异步通知与异步I/O笔记
- 孙鑫VC学习笔记:第十讲画图 改变对话框及控件的文字/背景颜色
- 引用和引用参数
- maven中的 dependencies 和 dependencyManagement 的区别(六)
- Cortex-M3 (NXP LPC1788)之IIS应用--UDA1380进行音频数据播放
- 设置、读取联络人头像 ---- save UIImage to ABAddressBook
- C++ inline 函数