2015-11-25 48 views
1

我很難在Java中嘗試一些簡單的東西,但在一天的好一段時間裏,我一直在撞牆。Java擴展StreamPrintService - 我如何實現'打印到Postscript文件'類型的'打印機'?

我正在實施具有打印功能的程序。我想要打印的是JEditorPane中的HTML文本,我知道我可以使用print()方法將其打印到打印機,但我還想將其打印到文件(PostScript或PDF,我不打印真的很在乎)。我知道在JRE的深處存在的地方是將JEditorPane的渲染內容轉換爲PostScript的代碼,因爲我正在處理的打印機是PostScript打印機,並且這是UNIX/Linux打印機的標準輸出格式。有沒有辦法利用它來打印到文件,而不必完全重新發明輪子?過去幾天我一直在進行網絡搜索和隨機黑客代碼,但絕對沒有任何有意義的進展。

+0

問題要求我們推薦或找到一本書,工具,軟件庫,教程或其他非本地資源,因爲它們傾向於吸引自以爲是的答案和垃圾郵件,所以不適合堆棧溢出。相反,請描述問題以及到目前爲止解決問題所做的工作。 – JFPicard

+0

我只是想添加'打印到文件'選項。這個函數*看起來*在Java中完全缺失。我不知道有什麼更好的描述問題。在每個其他應用程序工具包中都有一個「打印到文件」選項。我如何添加它?該API提出了一種*可能*的方式,但它是非常龍的(比實際應該是這樣)。或者說,Java只是一個過於苛刻的編程系統? –

+0

我敢打賭,PostScript的轉換實際上是由操作系統的打印機驅動程序處理的,而不是由Java本身處理。我不熟悉用Java打印,但嘗試使用JNI/JNA/BridJ調用OS本機打印系統可能會取得更大的成功。 –

回答

0

據我所知,這對於Java來說並不容易。相反,我找到了一個實現將GUI(JTextPane)的內容「導出」爲PDF文件的包,所以我只是添加了一個額外的工具欄按鈕&菜單項「導出爲PDF」。