2010-06-01 70 views
1

我在這裏遇到了一些麻煩,希望你能幫助一位程序員。如何從c#中的源獲取「打印機就緒字節」?

我具有接收一個指向原始字節(加上長度和東西)和原始數據發送到所述的打印機的應用程序。這很重要,我別無選擇,只能使用此方法來完成任何打印。

如果我發送一個原始字符串,它會沒有問題打印。但是,我需要能夠打印格式化文本,圖像等。所以,事情是...我想能夠從給定的來源獲得打印機準備好的字節(可能是PDF或HTML,並不重要,因爲只要它包含格式化文本和/或圖像)。這就像「分裂」像這樣的打印命令:

一)打開文件並讀取數據 b)加載打印機數據到內存 C)發送字節到打印機

很顯然,我有一個)和c)覆蓋,它是b)那個破了我的頭。

有什麼想法?

在此先感謝您的幫助。

回答

1

你需要的是打印機處理器接收打印命令,並創建格式化數據。你不會希望這個自己做,我希望(格式化到打印機就緒的數據,即使你知道PS,AFP,PCL或它是什麼時下,由心臟,是非常辛苦和個月的工作)。相反,應該使用Windows的打印機處理器。如果你在Windows上(我假設,因爲你使用C#,但也許你使用Mono),你可以發送任何打印機命令到一個文件中(只需使用FILE:端口)。要創建格式化的數據,使用您有任何PDF庫,或使用RTF,這是由.NET Framework的支持,並將其發送到選定的打印機(這應該與對應用程序的另一端相同的打印機)這是在端口FILE上配置的。

原始打印數據然後在磁盤上,這你根本就作爲一個字節數組讀入和使用你已經得到了應用程序發送到您的實際打印機。

相關問題