2017-07-02 49 views
1

我正在開發一個項目使用Java,它允許用戶通過軟件打印發票。我使用賈斯珀報告來生成報告,並使用this解決方案中提供的代碼和我用於開發的筆記本電腦打印輸出正確並正確打印(打印機爲EPSON LX-300 + II,操作系統爲Windows 8.1)。 但是,當我在客戶端計算機(與Windows 7和相同的打印機桌面)complied jar文件打印出來是不正確的。文本不可讀,而且它們如下圖所示粘在一起。 Error print字體不清楚在賈斯珀打印點陣打印機與Windows 7

兩臺計算機都正確安裝了打印機驅動程序,只有不同的是操作系統版本。

我都試過了,

  1. 更改字體爲Arial - 但問題是相同的
  2. 打印通過碧玉觀衆 - 同
  3. 以PDF和Word文檔導出報表和打印 - 這是OK但要求我需要通過Java打印輸出
  4. 使用的.jrxml文件和.jasper文件,然後 - 但問題是相同的

所有的問題都出現在Windows 7 PC和Windows 8筆記本打印輸出中是正確的。 這裏有什麼問題,誰能幫助解決這個問題?

謝謝。

+1

如果使用非Java程序打印某些內容,例如MS Word,或者就此而言,記事本(如果在該機器上沒有Word),也會出現此問題嗎? –

+1

檢查下載字體的驅動程序設置,以及替換字體。 –

+0

@ErwinBolwidt不,我嘗試使用ms字與不同類型的字體,他們打印正確 – ThilinaMD

回答

2

問題是您當前的JRE版本。我有這個問題,我解決了它更新我的JRE版本。您可能需要檢查您是否在64位計算機上運行32位JRE。

0

問題是dotmatrix打印機不理解您在代碼中使用的字體。我有與Windows 7 64位相同的問題。解決方案:下載windows的任何dotmatrix(例如'Doctrice')字體。然後將該字體複製到窗口「字體」文件夾中。然後在您的代碼/聲明中更改字體:

Font fo = new Font("Doctrice",Font.PLAIN,20); 

剩下的就是調整您的dotmatrix打印機首選項的質量。您的打印輸出現在將是一個清晰的質量。謝謝。