项目打印小单,不想弹窗

public class PrintDialogHelper
    {
        private const string PrintServerName = "艹";
        private const string PrintName = "Microsoft XPS Document Writer";

public PrintDialogHelper()
        {
        }

///
        /// 打印控件
        ///
        ///
        public void PrintVisual(FrameworkElement element)
        {
            var printDialog = new PrintDialog();
            SetPrintProperty(printDialog);
            var printQueue = SelectedPrintServer(PrintServerName, PrintName);
            if (printQueue != null)
            {
                printDialog.PrintQueue = printQueue;
                printDialog.PrintVisual(element, "");
            }
        }

public void PrintDocument(DocumentPaginator docuemnt)
        {
            var printDialog = new PrintDialog();
            SetPrintProperty(printDialog);
            var printQueue = SelectedPrintServer(PrintServerName, PrintName);
            if (printQueue != null)
            {
                printDialog.PrintQueue = printQueue;
                printDialog.PrintDocument(docuemnt, "");
            }
        }

///
        /// 查找并获取打印机
        ///
        /// 服务器名字: Lee-pc
        /// 打印机名字:Hp laserjet m1522 mfp series pcl 6
        ///
        public PrintQueue SelectedPrintServer(string printerServerName, string printerName)
        {
            try
            {
                var printers = PrinterSettings.InstalledPrinters;//获取本机上的所有打印机
                PrintServer printServer = null;

foreach (string printer in printers)
                {
                    if (printer.Contains(printerName))
                        printServer = new PrintServer("\\\\" + printerServerName);
                }

if (printServer == null) return null;//没有找到打印机服务器

var printQueue = printServer.GetPrintQueue(printerName);
                return printQueue;
            }
            catch (Exception)
            {
                return null;//没有找到打印机
            }
        }

///
        /// 设置打印格式
        ///
        /// 打印文档
        /// 打印纸张大小 a4
        /// 打印方向 竖向
        public void SetPrintProperty(PrintDialog printDialog, PageMediaSizeName pageSize = PageMediaSizeName.ISOA4, PageOrientation pageOrientation = PageOrientation.Portrait)
        {
            var printTicket = printDialog.PrintTicket;
            printTicket.PageMediaSize = new PageMediaSize(pageSize);//A4纸
            printTicket.PageOrientation = pageOrientation;//默认竖向打印
        }
    }

需引用

System.Printing.dll

reachframework.dll

打印的按钮事件 调用

//需打印窗体,页或控件

var printPage = new frmShopOrderPrintView();

var printdialog = new PrintDialogHelper();
            printdialog.PrintVisual(printPage);
            printPage.ShowDialog();

WPF无弹窗打印_se7en3_新浪博客相关推荐

  1. WPF TextBlock自定义内容_se7en3_新浪博客

    要用到WPF打印,在画界面的时候一段文字内需要有空格,下划线填空,如果用多个TextBlock或者Label拼接的话放在WarpPanel里面排列会因为控件长度问题产生有的行没填满就换行. 只能放在一 ...

  2. WPF网络图片保存编辑_se7en3_新浪博客

    WPF中,原来的图片保存方法会报异常, 以下方法 保存源自网络的图片,编辑包括变成黑白色,在图片上写文字. 链接 http://blog.csdn.net/johnsuna/article/detai ...

  3. IE ajax无局部刷新_se7en3_新浪博客

    原代码: jQuery.get("/Order/OrderMenu", function (data) {                     jQuery("#or ...

  4. WPF Grid边框_se7en3_新浪博客

    WPF Grid布局自带的属性没有边框 1.头部引入​ xmlns:ext="clr-namespace:TS.HY.Manage" 2​.Grid设置属性 ext:GridHel ...

  5. WPF圆角按钮及触发背景变更_se7en3_新浪博客

    WPF Button自定义Template并在ControlTemplate.Triggers定义背景变更 转http://www.cnblogs.com/junbird-nest/archive/2 ...

  6. SqlParameter in (@ids)_se7en3_新浪博客

    直接传入在将 varchar 值 '1,2,3,4,5,6,7,8' 转换成数据类型 int 时失败. SqlParameter会在编译时加上''变成varchar,使用charindex解决. WH ...

  7. 打印机设置为双面打印_hudingyin_新浪博客

    一般情况下,打印pdf文档时都会出现双面打印的选项框 如果没有,可以进行如下设置: 1.  右击打印机→打印机属性 2. 选择设备设置→Duplex Unit设置成Installed (开始是unin ...

  8. [转]移动IIS7.5默认inetpub目录_se7en3_新浪博客

    老外写的  批处理文件 moveiis7root.bak ::批处理开始 REM PLEASE BE AWARE: SERVICING (I.E. HOTFIXES AND SERVICE PACKS ...

  9. 《将博客搬至CSDN》_se7en3_新浪博客

    算了,笔记还是丢到CSDN去吧 https://blog.csdn.net/stoco

最新文章

  1. Debugging JTAG
  2. 在 Lotus Notes 中设置邮件定时发送的方法及代理功能介绍
  3. servlet多重映射_关于多重映射问题,很奇怪
  4. (58) 在计算字段提供搜索功能
  5. Psych101(part5)--Day5
  6. 前后端分离与前后端不分离的区别
  7. 6.MySQL数据库与数据表操作
  8. Java基础-final关键字
  9. 初识 InnoDB存储引擎
  10. MFC CImage透明图片显示
  11. 程序猿必备的17款最佳的代码审查工具
  12. c#选择文件保存路径
  13. win10查看计算机系统版本,如何查看我的电脑是不是win10 1909版本?
  14. 2020.07-Study_update.5
  15. 权变理论计算机管理理论,现代管理理论的主要学派
  16. ept技术_EPT与VPID
  17. Finding Your Better Half
  18. 什么是TXT记录?如何设置、检测TXT记录
  19. Flink一站式平台 StreamX 1.2.2 正式发布, 迄今最稳定可用版本
  20. RoboCup仿真3D TC笔记(2014年合肥中国公开赛 仿真3D比赛环境搭建)

热门文章

  1. c语言 PTA2020总决赛 L1-4 调和平均
  2. 非正弦周期信号的傅里叶级数展开式
  3. Java SE 6 新特性: 对脚本语言的支持 [VERY GOOD]
  4. centos7 ceph 集群部署
  5. B-树和B+树的区别
  6. 算法设计与分析——算法学基础(三):渐进记号
  7. Playbook的写法讲解
  8. 国家标准《信息技术 人工智能 知识图谱技术框架》第五次编辑会成功召开
  9. Flutter异常收集
  10. vite打包快几款基于vue3和vite的开箱即用的中后台管理模版