webbrowser设置横向打印_C# 日常记录:指定打印机/纸张/纸盒(静默打印)(不弹窗打印)WinForm篇...
我在WinForm 編程時一直有一個困擾很久的問題,有很多時候我們需要靜默打印 或者不想使用默認(rèn)的UI 進(jìn)行打印設(shè)置
這個時候我的想法如下
1. 獲取全部打印機(jī)
2.獲取打印機(jī)能打什么樣的紙
3.將打印機(jī)設(shè)置傳入并打印
首選用到的打印機(jī)設(shè)置類
System.Drawing.Printing.PrinterSettings System.Drawing.Printing.PageSettings第一步 找到所有打印機(jī) 主要使用這個屬性 這個屬性還是靜態(tài)的
PrinterSettings.InstalledPrinters第二步 找到你想要的那個打印機(jī)(代碼忽略)
第三步 設(shè)置打印機(jī)名稱(必須一模一樣)
PrinterSettings settings = new PrinterSettings(); settings.PrinterName = PrintName;//打印機(jī)名稱第四步 設(shè)置打印機(jī)的紙張(在這里其實(shí)我遇到一些困難 發(fā)現(xiàn)如果自己輸入紙張寬高 搞自定義有很多打印機(jī)不支持 最后還是找到了解決辦法)
循環(huán)打印機(jī)支持的紙張 然后找到想要的打印機(jī)支持的紙的名字 這樣做錯誤就很少了 設(shè)置項(xiàng)也很少 并且對于多紙張支持打印機(jī)可以對紙盒進(jìn)行自動選擇
PageSettings pageSettings = new PageSettings(); foreach (PaperSize data in settings.PaperSizes) {if (data.PaperName == printpagename){pageSettings.PaperSize = data;}}最后 進(jìn)行打印
view.Print(settings, pageSettings);當(dāng)然這里我使用了一款支持打印機(jī)設(shè)置的瀏覽器引擎還是chromium 內(nèi)核(確實(shí)是找了很久)
支持完全靜默 不用顯示 直接使用引擎進(jìn)行打印需要使用 (ThreadRunner) 終于可以告別IE內(nèi)核了 個人感覺比CEF要好用點(diǎn) 畢竟是收費(fèi)的
EO.WebBrowser
附上nuget 連接
EO.WebBrowser 20.1.45?www.nuget.org總結(jié)
以上是生活随笔為你收集整理的webbrowser设置横向打印_C# 日常记录:指定打印机/纸张/纸盒(静默打印)(不弹窗打印)WinForm篇...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 做试管婴儿越年轻就越容易吗?
- 下一篇: python后台开发知识点_面试总结:鹅