前言
最近在開發一套進銷存,要控制印表機從不同進紙匣中選取紙張,紙張類型分別為銅版紙和一班紙張,雖然 C# 中可以選擇進紙匣,但印表機驅動機制有問題,如果選了銅版紙且紙張大小為自訂,那因為印表機設計只能選擇後進紙倉,而再將紙張大小改為A5,進紙倉為紙匣時,印表機仍會從後進紙倉進紙,因為保存的紙張材質為銅版紙,以下分享如何解決此問題
函數
翻看微軟官方文檔後會發現並沒有函式指定紙張材質,在過程中我試過了無數方法,因此不可能從 code 中下手,除非印表機驅動提供 API,後來看到 moible01 的某篇文章,忽然想到繞道的方法。
解決方法
方法非常簡單,只要讓電腦認為有兩台印表機,兩台印表機固定不同的參數,列印時根據要的參數調用對應的印表機即可
1.先查看印表機端口
2.手動新增印表機
3.依照以下步驟新增印表機 且新建新名稱
4.將兩台印表機設定固定的列印參數
程式調用
在需要列印時選擇參數對應的印表機即可,如下