2010-04-02 59 views

回答

3

在Win32中將打印機建模爲一組位圖。這是由PrintDocument包裝的,它基本上設置了一個回調函數,可以讓您逐一繪製每個頁面,並逐個將它們發送給打印假脫機程序,後者然後將數據(通常爲.ps格式)發送到打印機。

這是現代打印機如何操作,它們繪製頁面而不是文本。只有舊式矩陣打印機以流線形式逐個字符地繪製文本。他們曾經使用「PRN:」特殊文件。然而,這在現代環境中已經失去了一切意義。

好消息是,使用PrintDocument類很容易,您可以爲每個頁面獲得一個Graphics對象,您可以使用該對象在頁面上的任何位置打印文本以及繪製圖形。

如果您希望通過緩存所有數據然後對每個頁面調用DrawText,可以模擬流式打印機。

1

建設Windows Forms應用程序,你可以把打印機作爲Graphics Device.System.Drawing.Printing命名空間提供與打印相關的服務,爲Windows窗體應用程序。

如果要從Windows Presentation Foundation (WPF)應用程序打印,請參閱System.Printing命名空間。它提供的類使您能夠自動管理打印服務器,打印隊列和打印作業。

0

由於NET 3.0,你可以通過使用 PrintSystemJobInfo.JobStream

當你在後臺處理程序,例如創建一個PrintJob

var job = LocalPrinter.GetDefaultQueue().AddJob(); 

您可以寫信給

job.JobStream 

關閉該流隊列它進行打印。 有趣的是,您可以使用該流將控制代碼和文本寫入通用/純文本打印機(例如LPT1並行端口衝擊打印機)

相關問題