webbrowser设置横向打印_C# 日常记录:指定打印机/纸张/纸盒(静默打印)(不弹窗打印)WinForm篇...

本文介绍了如何在WinForm应用中实现静默打印,包括获取所有打印机、设置打印机参数和纸张,并重点讨论了如何确保打印机设置正确以避免错误。作者推荐使用EO.WebBrowser,这是一个基于Chromium内核的浏览器引擎,支持静默打印,避免了使用IE内核。

我在WinForm 编程时一直有一个困扰很久的问题,有很多时候我们需要静默打印 或者不想使用默认的UI 进行打印设置

这个时候我的想法如下

1. 获取全部打印机

2.获取打印机能打什么样的纸

3.将打印机设置传入并打印

首选用到的打印机设置类

System.Drawing.Printing.PrinterSettings
System.Drawing.Printing.PageSettings

第一步 找到所有打印机 主要使用这个属性 这个属性还是静态的

PrinterSettings.InstalledPrinters

第二步 找到你想要的那个打印机(代码忽略)

第三步 设置打印机名称(必须一模一样)

PrinterSettings settings = new PrinterSettings();
settings.PrinterName = PrintName;//打印机名称

第四步 设置打印机的纸张(在这里其实我遇到一些困难 发现如果自己输入纸张宽高 搞自定义有很多打印机不支持 最后还是找到了解决办法)

循环打印机支持的纸张 然后找到想要的打印机支持的纸的名字 这样做错误就很少了 设置项也很少 并且对于多纸张支持打印机可以对纸盒进行自动选择

  PageSettings pageSettings = new PageSettings();
foreach (PaperSize data in settings.PaperSizes)
{
     if (data.PaperName == printpagename)
      {
                        
            pageSettings.PaperSize = data;
                        
       }
                    
}

最后 进行打印

 view.Print(settings, pageSettings);

当然这里我使用了一款支持打印机设置的浏览器引擎还是chromium 内核(确实是找了很久)

支持完全静默 不用显示 直接使用引擎进行打印需要使用 (ThreadRunner) 终于可以告别IE内核了 个人感觉比CEF要好用点 毕竟是收费的

EO.WebBrowser

附上nuget 连接

EO.WebBrowser 20.1.45​www.nuget.org
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值