我想要將純文本(可能是cp1252或Windows正在使用的任何內容)打印到特定的打印服務。聽起來很簡單,對吧?但成功似乎強烈依賴於您使用的打印機類型。使用javax.print打印純文本API
我有三種不同的打印機可用。一個是HP LaserJet(普通打印機),一個是免費PDF(虛擬PDF打印機),另一個是Tobit Faxware(虛擬傳真服務 - 這是我想要打印的內容)。
根據支持的doc風格,none均不提供「text/plain」或任何其他「text」格式。
當我使用DocFlavor.URL.AUTOSENSE
打印時,HP打印機將正確打印文本,但其他兩個將默默失敗。由於「文本」DocFlavors不受支持,我無法給打印機提供除「自動感應」之外的更多提示。
當使用Windows'記事本打印文件時,它對所有三臺打印機都正常工作。差異似乎是我打印「RAW」數據,而記事本使用「NT EMF 1.008」。
有什麼辦法讓我使用java PrintService工作嗎?
圖片借來不會起作用,因爲傳真打印驅動程序掃描關鍵字輸出。 – Stroboskop 2011-03-21 08:39:42
其實......我注意到有時會在PrintJob中「繪製」一個文本,使用drawString會導致您可以標記文本(使用FreePDF作爲打印機)。但它不能一直工作,因爲大部分時間組件將被圖像切片中的PrintJob切斷,然後沒有文本。 我還沒有找出何時使用哪種方法。 – Stroboskop 2017-05-30 13:02:52