C# winform 打印预览
1.第一种方法
使用PrintPreviewDialog控件进行显示
PrintPreviewDialog printPreviewDialog = new PrintPreviewDialog();
printPreviewDialog.ClientSize = new System.Drawing.Size(400, 300);
printPreviewDialog.Location = new System.Drawing.Point(29, 29);
printPreviewDialog.Name = "打印预览";
printPreviewDialog.MinimumSize = new System.Drawing.Size(375, 250);
printPreviewDialog.UseAntiAlias = true;
System.Drawing.Printing.PrintDocument document = new System.Drawing.Printing.PrintDocument();
document.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(document_PrintPage);
printPreviewDialog.Document = document;
printPreviewDialog.ShowDialog();
private void document_PrintPage(object sender,System.Drawing.Printing.PrintPageEventArgs e)
{
//显示内容
string text = "In document_PrintPage method.";
//设置字体
System.Drawing.Font printFont = new System.Drawing.Font("Arial", 35, System.Drawing.FontStyle.Regular);
e.Graphics.DrawString(text, printFont, System.Drawing.Brushes.Black, 0, 0);
}
其他操作可以参考文档
https://docs.microsoft.com/zh-cn/dotnet/api/system.windows.forms.printpreviewcontrol?view=netframework-4.0
2.如果预览的是Excel文档,则可以如下预览
public void PrintPriviewExcelFile(string filePath)
{
Microsoft.Office.Interop.Excel.ApplicationClass applicationClass = new Microsoft.Office.Interop.Excel.ApplicationClass();
applicationClass.Visible = true;
object missing = System.Reflection.Missing.Value;
Microsoft.Office.Interop.Excel.Workbook xlWorkbook = applicationClass.Workbooks.Open(filePath, 0, true, 5, missing, missing, true, 1, missing, false, false, missing, false, missing, missing);
Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkbook.Worksheets[1];
worksheet.PrintPreview(null);
applicationClass.Visible = false;
worksheet = null;
}
若调用这段代码的时候显示“无法嵌入互操作类型ApplicationClass,请改用试用的接口”,将Microsoft.Office.Interop.Excel的嵌入互操作性值改为false
C# winform 打印预览相关推荐
- zpl 预览html,在将它发送到Zebra打印机之前,使用.NET WinForm打印预览ZPL II命令
我需要能够在我的应用程序中显示标签.所以我联系了Fiddler并弄清楚通信是什么来获得标签的图像. 我让它在LinqPad中运行. HTTP的东西可以清理一下,但我想我会发布代码供其他人使用: voi ...
- Winform中实现ZedGraph曲线图的图像复制到剪切板、打印预览、获取图片并保存、另存为的功能
场景 Winforn中设置ZedGraph曲线图的属性.坐标轴属性.刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...
- c# winform 绘制表格填充数据并且打印预览表格
调用打印类并执行预览 using System; using System.Collections.Generic; using System.ComponentModel; using System ...
- 关于c#中winform端程序excel打印和打印预览
excel打印,引用微软dll类库: Microsoft.Office.Interop.Excel.Application 直接调用封装好的方法即可预览打印:以下代码: Microsoft.Offic ...
- [WinForm每日一帖] UltraGrid打印预览
NetAdvantage中提供了PrintPreview控件,用于打印的预览实现.UltraGrid也提供了直接打印的支持,且效果也是很不错的! 本文将介绍如何实现UltraGrid的打印效果. 1. ...
- .NET环境下有关打印页面设置、打印机设置、打印预览对话框的实现
原文:.NET环境下有关打印页面设置.打印机设置.打印预览对话框的实现 我个人认为,开发MIS,首先就得解决网格的问题,而开发工具为我们提供了如DataGrid.MSHFlexGrid的控件.其次,是 ...
- c#endread怎么打印出来_C#教程之打印和打印预览
最近研究一了一下关于PDF打印和打印预览的功能,在此小小的总结记录一下学习过程. 实现打印和打印预览的方法,一般要实现如下的菜单项:打印.打印预览.页面设置. PrintDocument类 Print ...
- 打印预览的线条粗细问题
在编写打印时,遇到一个很奇怪的问题,明明代码的线条宽度是一样的,但预览时,明显可以看到不一样.如果说是误差,但如果把宽度放大,误差也应该放大才对,但很奇怪,放大后,反倒一致了. 开始以为是,其他的是其 ...
- WPF的打印原理 实现打印页眉页脚和打印预览
做应用特别是企业应用和网站一般都少不了打印功能,打印也是项特别麻烦的事情,要实现打印功能根据不能的技术也有不同的实现方案. 在MFC中手动实现打印功能很麻烦,如果不需要打印预览功能,可以直接用offi ...
最新文章
- Windows中几个内存相当的指标
- [原]android2.3如何使用SharedPreferences存储字符串集合类型的元素
- Cisco和H3C的两种不同动态***解决方案
- python代码解读软件_5种带你轻松分析Python代码的软件库
- [转载] java-继承和多态
- 【Kafka】kafka 0.10.0 版本低级消费 API
- winexec函数 执行powershell 脚本_丢掉 Powershell.exe 来渗透测试
- gulp自动化添加版本号并修改为参数格式
- [IT幽默]不上网与上网女人区别
- 怎样import(导入)过期的磁带
- 【bzoj2806】[Ctsc2012]Cheat 广义后缀自动机+二分+单调队列优化dp
- 在线textarea工具
- win安装appium
- VSCode搭建STM32开发环境
- 台式计算机如何双屏显示,台式计算机如何同时连接显示器和电视双屏显示器?...
- curly怎么读(curly怎么读音发音英语怎么说)
- 硬盘挂载 mount 详细步骤及遇到问题“Mount is denied because the NTFS volume is already exclusively opened”
- c#把word文档转换为html页面
- SAP Commerce Cloud 的 Simple Responsive Banner Component
- Vue的props的三种写法