C#使用PrintDocument实现打印预览
- 添加PrintPreviewControl控件,并做如下设置,绑定printDocument控件:
- 初始化printdocument并绑定打印触发事件
this.printDocument1.PrintController = null;
//设置打印用的纸张,当设置为Custom的时候,可以自定义纸张的大小
printDocument1.DefaultPageSettings.PaperSize = new PaperSize("Custom", 800, 1150);
//注册PrintPage事件,打印每一页时会触发该事件
printDocument1.PrintPage += new PrintPageEventHandler(this.PrintDocument_PrintPage);
- 在画布上写内容:
private void PrintDocument_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{//添加字符串e.Graphics.DrawString("Hello World!", new Font(new FontFamily("宋体"), 10.5f), System.Drawing.Brushes.Black, x, y);//添加图片e.Graphics.DrawImage(Image.FromFile(imgPath), x, y, imgwid,imgheg);//画线Pen pen = new Pen(Color.Red, 2);e.Graphics.DrawLine(pen, x1, y1, x2, y2);//画矩形e.Graphics.DrawRectangle(pen, x, y, wid, heg);
}
- 放大倍数设置,调整Zoom属性,值为1时放大倍数为100%,可设置成带小数的参数(0.75、1.2等)
- 分页:
e.HasMorePages = true;
printControl.Rows += 1;
分页具体实现,如下:
int page=0;
private void PrintDocument_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{if(page=0){page++;//添加字符串e.Graphics.DrawString("第一页", new Font(new FontFamily("宋体"), 10.5f), System.Drawing.Brushes.Black, x, y);e.HasMorePages = true;printControl.Rows += 1;}else{e.Graphics.DrawString("第二页", new Font(new FontFamily("宋体"), 10.5f), System.Drawing.Brushes.Black, x, y);}
}
C#使用PrintDocument实现打印预览相关推荐
- C# 使用自带的组件PrintPreviewDialog 和 PrintDocument实现打印预览(一)
文章目录 前言 相关内容了解 打印预览功能 1 创建winform工程 2 创建要打印的测试数据 3 绘制打印页 绘制页脚 绘制内容 PrintPage事件 完整的代码工程 小节 前言 有这么个需求: ...
- .NET环境下有关打印页面设置、打印机设置、打印预览对话框的实现
原文:.NET环境下有关打印页面设置.打印机设置.打印预览对话框的实现 我个人认为,开发MIS,首先就得解决网格的问题,而开发工具为我们提供了如DataGrid.MSHFlexGrid的控件.其次,是 ...
- .NET环境下有关打印页面设置、打印机设置、打印预览对话框的实现与应用(1)
From: http://blog.csdn.net/flygoldfish/article/details/77208 .NET环境下有关打印页面设置.打印机设置.打印预览对话框的实现 我个人认为, ...
- .Net环境下有关打印页面设置、打印机设置、打印预览对话框的实现(开源)---转
作者:周方勇 我个人认为,开发MIS,首先就得解决网格的问题,而开发工具为我们提供了如DataGrid.MSHFlexGrid的控件.其次,是打印的问题,将业务单据与数据报表打印出来.可想而知,即使一 ...
- C# PrintDocument 打印 和 打印预览
.封装好的辅助类: [csharp] view plaincopy print? using System; using System.Data; using System.Drawing; usin ...
- C# 打印预览 PrintDocument打印、打印预览
#region 打印预览#region 变量 常量//以下用户可自定义 //当前要打印文本的字体及字号 private const int HeadHeight = 40;private static ...
- printdocument python_python学习笔记之wxpython打印预览
主要学习wxPython in action 和Demo程序,做点学习笔记 wxPython 通过使用设备上下文和绘制操作来实现打印,wxPython中实现打印的一个重要的类:wx.PrintOut它 ...
- C#实现打印与打印预览功能
C#实现打印与打印预览功能 发表日期:2010年12月31日 作者:whitewin 点击:102次 在windows应用程序中文档的打印是一项非常重要的功能,在以前一直是一个非常复杂的工作,Micr ...
- c#endread怎么打印出来_C#教程之打印和打印预览
最近研究一了一下关于PDF打印和打印预览的功能,在此小小的总结记录一下学习过程. 实现打印和打印预览的方法,一般要实现如下的菜单项:打印.打印预览.页面设置. PrintDocument类 Print ...
最新文章
- openCV内存释放问题
- Microsoft Dynamics CRM 2011 相关-摘自网络
- 关于Rabbitmq的routingkey的作用
- 阿里巴巴虾米的机器学习与深度学习进阶记
- 图片轮播,纯js+css
- 异步编程异常和死锁处理
- MapReduce-Reduce端join操作-Map阶段代码
- path png转svg_如何将jpg或png图像转换成svg并保存?
- [SQL]LeetCode180. 连续出现的数字 | Consecutive Numbers
- Win7 局域网内简单共享的设置
- cmw500综合测试仪使用_辽宁优质继电器综合测试仪供应商-广州炫通电气科技
- 分支定界法解TSP问题(one-tree算法定界)附java代码
- 《Python机器学习及实践:从零开始通往Kaggle竞赛之路》第4章 实战篇 学习笔记(三)4.3IMDB影评得分估计总结
- linux服务器被攻击怎么办
- 一名技术的原则—美团工作六年的认知(2020年)
- WPF学习教程链接总汇
- winform遍历bartender_C# 调用Bartender服务并打印bartender标签
- 岁月的剪影【七月My way】
- 云计算机平台 显示器,云桌面
- 洛克菲勒的38封信pdf下载_(完整word版)洛克菲勒留给儿子的38封信