通常我們是通過程序操作打印機打印我們設置好的內容,但基本都是打印機默認進紙口打印;最近有一個通過C#程序控制兩個進紙口分別進一張紙進行打印的需求,通過償失找到了解決方案如下:
關於C#調用打印機打印的方法,網上相關資料很多,這里不做介紹,這里僅介紹如何控制通過不同紙盒進紙打印
PrintDocument pdDocument = new PrintDocument(); /* **打印的一些基礎設置,這里不做多的介紹 */
設置紙張來源,比如如下我這里設置通過紙盒1進紙,注意不同的型號打印機紙盒的名稱不同
pdDocument.DefaultPageSettings.PaperSource = GetPaperSource("紙盒 1");
如下為通過紙盒名稱查找紙張來源的方法
/// <summary> /// 通過名稱查找紙盒 /// </summary> /// <param name="sorceName"></param> /// <returns></returns> private PaperSource GetPaperSource(string sorceName) { PaperSource pageSorce = new PaperSource(); PrinterSettings ps = new PrinterSettings(); for (int i = 0; i < ps.PaperSources.Count; i++) { if (ps.PaperSources[i].SourceName == sorceName) { return ps.PaperSources[i]; } } return null; }
上述的紙盒設置完成后就可以調用打印了,如果要通過不同進紙盒分別進紙打印,重復設置紙張來源然后再調用打印即可;