C# 實現虛擬打印機 HP Color LaserJet 4500 (1)

C# 實現虛擬打印機 HP Color LaserJet 4500  1

 

無聊了研究了下PCLHPGL兩種語言。如果要實現虛擬打印機只使用.NET來做,驅動是最大的問題。其實我們可以使用已經寫好的打印機驅動來實現。只是讓驅動最終生成的打印語言輸出到我們想要的位置。並且我們對打印語言進行模擬顯示就可以。經過幾天的研究發現HP Color LaserJet 4500 打印出的圖形爲PCLHPGL的混合體。那就寫個控制HP Color LaserJet 4500的程序進行控制並且把打印出的打印語言輸出到我們想要的位置。

 

首先 先給系統添加打印機 HP Color LaserJet 4500

 

 

 

其他的設置不用管。用程序來控制把,免得配置複雜以後我自己都忘了怎麼配置的。

思路  先給打印機更換端口 使用寫註冊表 把臨時目錄放做爲打印端口 然後設置打印後保留文檔 通過API  EnumJobs 獲取打印任務 重新執行打印後獲取臨時文件 ,這裏臨時文件就是我們需要的PCL/HPGL文件( ImagePRN 這個類 我暫時不貼出來) 因爲包含兩種打印語言所以這個東西的類我還的找個時間再整理下,到目前爲止就10來個類了貼出來太累了。等整理後、成一個類後我會帖出來。

 效果圖

 

 

不說了 先看代碼把

測試使用代碼

 

 

下面是打印控制的類

 

 下一篇 我會把PCL/HPGL的類貼出來。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章