2009-02-12 52 views
4

我想知道在Java中存在爲EPSON Dot Matrix打印機構建報表的實用方式。目前,我正在使用LX300 + II模型。在Java中使用精確佈局的點陣快速打印

我知道有基本上使用這種打印機的兩種方式:

  1. 作爲打字機,直接原始ASCII數據輸出到並行端口
  2. 圖形印刷,具有圖形的字體和精確的定位。

如何使用既快速印刷字體(由提供)和精確定位(由提供)?

我知道這是可以做到的,因爲幾年前,我得爲EPSON FX 2180製作報告,其中包括在Windows中安裝了本地打印字體的驅動程序。這可以做到我想要的。

現在我使用的圖形報表JasperReports的和工作正常,但我確實有需要在點陣打印機打印出來,快速,過一些報道。 有什麼可以替代嗎?

回答

1

如果要在點陣式打印機中快速打印,則需要在「純文本」模式下進行打印。下面的代碼對我的作品:

try { 
    // LPT1 is the printer port 
    try (FileWriter out = new FileWriter("LPT1:")) { 
     out.write("String1\nString2\nString3\n"); 
     out.flush(); 
    } 
} catch (IOException e) { 
} 
+0

我應該用什麼來替換「LPT1:」?我應該在哪裏尋找名字? – William 2013-04-02 14:36:27

0

//用java打印機點陣

String bill = "your text"; 

InputStream br = new ByteArrayInputStream(bill.getBytes()); 
BufferedReader in = new BufferedReader(new InputStreamReader(br)); 
String line; 
//if you use windows 
FileWriter out = new FileWriter("////IP Printer//printer name"); 
//if you use linux you can try SMB:(samba) 
while((line = in.readLine()) != null) 
{ 
    System.out.println("line"+line); 
    out.write(line); 
    out.write(0x0D); CR 
    out.write('\n'); 
    writer.println(line); 
} 
out.close(); 
in.close(); 
writer.close(); 

打印//它爲我工作...