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 打印预览相关推荐

  1. zpl 预览html,在将它发送到Zebra打印机之前,使用.NET WinForm打印预览ZPL II命令

    我需要能够在我的应用程序中显示标签.所以我联系了Fiddler并弄清楚通信是什么来获得标签的图像. 我让它在LinqPad中运行. HTTP的东西可以清理一下,但我想我会发布代码供其他人使用: voi ...

  2. Winform中实现ZedGraph曲线图的图像复制到剪切板、打印预览、获取图片并保存、另存为的功能

    场景 Winforn中设置ZedGraph曲线图的属性.坐标轴属性.刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...

  3. c# winform 绘制表格填充数据并且打印预览表格

    调用打印类并执行预览 using System; using System.Collections.Generic; using System.ComponentModel; using System ...

  4. 关于c#中winform端程序excel打印和打印预览

    excel打印,引用微软dll类库: Microsoft.Office.Interop.Excel.Application 直接调用封装好的方法即可预览打印:以下代码: Microsoft.Offic ...

  5. [WinForm每日一帖] UltraGrid打印预览

    NetAdvantage中提供了PrintPreview控件,用于打印的预览实现.UltraGrid也提供了直接打印的支持,且效果也是很不错的! 本文将介绍如何实现UltraGrid的打印效果. 1. ...

  6. .NET环境下有关打印页面设置、打印机设置、打印预览对话框的实现

    原文:.NET环境下有关打印页面设置.打印机设置.打印预览对话框的实现 我个人认为,开发MIS,首先就得解决网格的问题,而开发工具为我们提供了如DataGrid.MSHFlexGrid的控件.其次,是 ...

  7. c#endread怎么打印出来_C#教程之打印和打印预览

    最近研究一了一下关于PDF打印和打印预览的功能,在此小小的总结记录一下学习过程. 实现打印和打印预览的方法,一般要实现如下的菜单项:打印.打印预览.页面设置. PrintDocument类 Print ...

  8. 打印预览的线条粗细问题

    在编写打印时,遇到一个很奇怪的问题,明明代码的线条宽度是一样的,但预览时,明显可以看到不一样.如果说是误差,但如果把宽度放大,误差也应该放大才对,但很奇怪,放大后,反倒一致了. 开始以为是,其他的是其 ...

  9. WPF的打印原理 实现打印页眉页脚和打印预览

    做应用特别是企业应用和网站一般都少不了打印功能,打印也是项特别麻烦的事情,要实现打印功能根据不能的技术也有不同的实现方案. 在MFC中手动实现打印功能很麻烦,如果不需要打印预览功能,可以直接用offi ...

最新文章

  1. Windows中几个内存相当的指标
  2. [原]android2.3如何使用SharedPreferences存储字符串集合类型的元素
  3. Cisco和H3C的两种不同动态***解决方案
  4. python代码解读软件_5种带你轻松分析Python代码的软件库
  5. [转载] java-继承和多态
  6. 【Kafka】kafka 0.10.0 版本低级消费 API
  7. winexec函数 执行powershell 脚本_丢掉 Powershell.exe 来渗透测试
  8. gulp自动化添加版本号并修改为参数格式
  9. [IT幽默]不上网与上网女人区别
  10. 怎样import(导入)过期的磁带
  11. 【bzoj2806】[Ctsc2012]Cheat 广义后缀自动机+二分+单调队列优化dp
  12. 在线textarea工具
  13. win安装appium
  14. VSCode搭建STM32开发环境
  15. 台式计算机如何双屏显示,台式计算机如何同时连接显示器和电视双屏显示器?...
  16. curly怎么读(curly怎么读音发音英语怎么说)
  17. 硬盘挂载 mount 详细步骤及遇到问题“Mount is denied because the NTFS volume is already exclusively opened”
  18. c#把word文档转换为html页面
  19. SAP Commerce Cloud 的 Simple Responsive Banner Component
  20. Vue的props的三种写法

热门文章

  1. 设计模式之游戏--观察者模式详解
  2. 牛客小白月赛4 D.郊区春游
  3. Android界面布局练习
  4. LeetCode HOT 100 --- 2021/7/30
  5. linux中的sh脚本语法
  6. 编码(NRZ、NRZI、曼彻斯特、4B/5B)
  7. Struts2 注解开发实现简单的增删改查,超详细教程
  8. 一周快讯:乐视网市值蒸发349亿,钱宝网张小雷被逮
  9. Android图片转换
  10. 视频教程-软考项目管理知识实战(上)-软考